{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "from sklearn.linear_model import LinearRegression\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.datasets import load_boston"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['data', 'target', 'feature_names', 'DESCR'])"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "boston_data = load_boston()\n",
    "boston_data.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " Number of rows and columns in the data set  (506, 13)\n",
      "['CRIM' 'ZN' 'INDUS' 'CHAS' 'NOX' 'RM' 'AGE' 'DIS' 'RAD' 'TAX' 'PTRATIO'\n",
      " 'B' 'LSTAT']\n"
     ]
    }
   ],
   "source": [
    "print(\" Number of rows and columns in the data set \", boston_data.data.shape)\n",
    "print(boston_data.feature_names)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "      <th>9</th>\n",
       "      <th>10</th>\n",
       "      <th>11</th>\n",
       "      <th>12</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.00632</td>\n",
       "      <td>18.0</td>\n",
       "      <td>2.31</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.538</td>\n",
       "      <td>6.575</td>\n",
       "      <td>65.2</td>\n",
       "      <td>4.0900</td>\n",
       "      <td>1.0</td>\n",
       "      <td>296.0</td>\n",
       "      <td>15.3</td>\n",
       "      <td>396.90</td>\n",
       "      <td>4.98</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.02731</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.07</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.469</td>\n",
       "      <td>6.421</td>\n",
       "      <td>78.9</td>\n",
       "      <td>4.9671</td>\n",
       "      <td>2.0</td>\n",
       "      <td>242.0</td>\n",
       "      <td>17.8</td>\n",
       "      <td>396.90</td>\n",
       "      <td>9.14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.02729</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.07</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.469</td>\n",
       "      <td>7.185</td>\n",
       "      <td>61.1</td>\n",
       "      <td>4.9671</td>\n",
       "      <td>2.0</td>\n",
       "      <td>242.0</td>\n",
       "      <td>17.8</td>\n",
       "      <td>392.83</td>\n",
       "      <td>4.03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.03237</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.18</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.458</td>\n",
       "      <td>6.998</td>\n",
       "      <td>45.8</td>\n",
       "      <td>6.0622</td>\n",
       "      <td>3.0</td>\n",
       "      <td>222.0</td>\n",
       "      <td>18.7</td>\n",
       "      <td>394.63</td>\n",
       "      <td>2.94</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.06905</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.18</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.458</td>\n",
       "      <td>7.147</td>\n",
       "      <td>54.2</td>\n",
       "      <td>6.0622</td>\n",
       "      <td>3.0</td>\n",
       "      <td>222.0</td>\n",
       "      <td>18.7</td>\n",
       "      <td>396.90</td>\n",
       "      <td>5.33</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        0     1     2    3      4      5     6       7    8      9     10  \\\n",
       "0  0.00632  18.0  2.31  0.0  0.538  6.575  65.2  4.0900  1.0  296.0  15.3   \n",
       "1  0.02731   0.0  7.07  0.0  0.469  6.421  78.9  4.9671  2.0  242.0  17.8   \n",
       "2  0.02729   0.0  7.07  0.0  0.469  7.185  61.1  4.9671  2.0  242.0  17.8   \n",
       "3  0.03237   0.0  2.18  0.0  0.458  6.998  45.8  6.0622  3.0  222.0  18.7   \n",
       "4  0.06905   0.0  2.18  0.0  0.458  7.147  54.2  6.0622  3.0  222.0  18.7   \n",
       "\n",
       "       11    12  \n",
       "0  396.90  4.98  \n",
       "1  396.90  9.14  \n",
       "2  392.83  4.03  \n",
       "3  394.63  2.94  \n",
       "4  396.90  5.33  "
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "boston_df =pd.DataFrame(boston_data.data)\n",
    "boston_df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>CRIM</th>\n",
       "      <th>ZN</th>\n",
       "      <th>INDUS</th>\n",
       "      <th>CHAS</th>\n",
       "      <th>NOX</th>\n",
       "      <th>RM</th>\n",
       "      <th>AGE</th>\n",
       "      <th>DIS</th>\n",
       "      <th>RAD</th>\n",
       "      <th>TAX</th>\n",
       "      <th>PTRATIO</th>\n",
       "      <th>B</th>\n",
       "      <th>LSTAT</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.00632</td>\n",
       "      <td>18.0</td>\n",
       "      <td>2.31</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.538</td>\n",
       "      <td>6.575</td>\n",
       "      <td>65.2</td>\n",
       "      <td>4.0900</td>\n",
       "      <td>1.0</td>\n",
       "      <td>296.0</td>\n",
       "      <td>15.3</td>\n",
       "      <td>396.90</td>\n",
       "      <td>4.98</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.02731</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.07</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.469</td>\n",
       "      <td>6.421</td>\n",
       "      <td>78.9</td>\n",
       "      <td>4.9671</td>\n",
       "      <td>2.0</td>\n",
       "      <td>242.0</td>\n",
       "      <td>17.8</td>\n",
       "      <td>396.90</td>\n",
       "      <td>9.14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.02729</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.07</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.469</td>\n",
       "      <td>7.185</td>\n",
       "      <td>61.1</td>\n",
       "      <td>4.9671</td>\n",
       "      <td>2.0</td>\n",
       "      <td>242.0</td>\n",
       "      <td>17.8</td>\n",
       "      <td>392.83</td>\n",
       "      <td>4.03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.03237</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.18</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.458</td>\n",
       "      <td>6.998</td>\n",
       "      <td>45.8</td>\n",
       "      <td>6.0622</td>\n",
       "      <td>3.0</td>\n",
       "      <td>222.0</td>\n",
       "      <td>18.7</td>\n",
       "      <td>394.63</td>\n",
       "      <td>2.94</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.06905</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.18</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.458</td>\n",
       "      <td>7.147</td>\n",
       "      <td>54.2</td>\n",
       "      <td>6.0622</td>\n",
       "      <td>3.0</td>\n",
       "      <td>222.0</td>\n",
       "      <td>18.7</td>\n",
       "      <td>396.90</td>\n",
       "      <td>5.33</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      CRIM    ZN  INDUS  CHAS    NOX     RM   AGE     DIS  RAD    TAX  \\\n",
       "0  0.00632  18.0   2.31   0.0  0.538  6.575  65.2  4.0900  1.0  296.0   \n",
       "1  0.02731   0.0   7.07   0.0  0.469  6.421  78.9  4.9671  2.0  242.0   \n",
       "2  0.02729   0.0   7.07   0.0  0.469  7.185  61.1  4.9671  2.0  242.0   \n",
       "3  0.03237   0.0   2.18   0.0  0.458  6.998  45.8  6.0622  3.0  222.0   \n",
       "4  0.06905   0.0   2.18   0.0  0.458  7.147  54.2  6.0622  3.0  222.0   \n",
       "\n",
       "   PTRATIO       B  LSTAT  \n",
       "0     15.3  396.90   4.98  \n",
       "1     17.8  396.90   9.14  \n",
       "2     17.8  392.83   4.03  \n",
       "3     18.7  394.63   2.94  \n",
       "4     18.7  396.90   5.33  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "boston_df.columns = boston_data.feature_names\n",
    "boston_df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "boston_df['PRICE'] = boston_data.target"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X = boston_df.drop('PRICE', axis=1)\n",
    "lm = LinearRegression()\n",
    "lm.fit(X, boston_df.PRICE)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Intercept:  36.4911032804\n",
      "Coefficient:  [ -1.07170557e-01   4.63952195e-02   2.08602395e-02   2.68856140e+00\n",
      "  -1.77957587e+01   3.80475246e+00   7.51061703e-04  -1.47575880e+00\n",
      "   3.05655038e-01  -1.23293463e-02  -9.53463555e-01   9.39251272e-03\n",
      "  -5.25466633e-01]\n"
     ]
    }
   ],
   "source": [
    "print(\"Intercept: \", lm.intercept_)\n",
    "print(\"Coefficient: \", lm.coef_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>features</th>\n",
       "      <th>estimatedCoefficients</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>CRIM</td>\n",
       "      <td>-0.107171</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>ZN</td>\n",
       "      <td>0.046395</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>INDUS</td>\n",
       "      <td>0.020860</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>CHAS</td>\n",
       "      <td>2.688561</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>NOX</td>\n",
       "      <td>-17.795759</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>RM</td>\n",
       "      <td>3.804752</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>AGE</td>\n",
       "      <td>0.000751</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>DIS</td>\n",
       "      <td>-1.475759</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>RAD</td>\n",
       "      <td>0.305655</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>TAX</td>\n",
       "      <td>-0.012329</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>PTRATIO</td>\n",
       "      <td>-0.953464</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>B</td>\n",
       "      <td>0.009393</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>LSTAT</td>\n",
       "      <td>-0.525467</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   features  estimatedCoefficients\n",
       "0      CRIM              -0.107171\n",
       "1        ZN               0.046395\n",
       "2     INDUS               0.020860\n",
       "3      CHAS               2.688561\n",
       "4       NOX             -17.795759\n",
       "5        RM               3.804752\n",
       "6       AGE               0.000751\n",
       "7       DIS              -1.475759\n",
       "8       RAD               0.305655\n",
       "9       TAX              -0.012329\n",
       "10  PTRATIO              -0.953464\n",
       "11        B               0.009393\n",
       "12    LSTAT              -0.525467"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.DataFrame(list(zip(X.columns, lm.coef_)),columns= ['features','estimatedCoefficients'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "21.897779217687486\n"
     ]
    }
   ],
   "source": [
    "lm.predict(X)[0:5]\n",
    "\n",
    "mseFull = np.mean((boston_df.PRICE - lm.predict(X)) ** 2)\n",
    "print(mseFull)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "         CRIM    ZN  INDUS  CHAS    NOX     RM    AGE     DIS   RAD    TAX  \\\n",
      "5     0.02985   0.0   2.18   0.0  0.458  6.430   58.7  6.0622   3.0  222.0   \n",
      "116   0.13158   0.0  10.01   0.0  0.547  6.176   72.5  2.7301   6.0  432.0   \n",
      "45    0.17142   0.0   6.91   0.0  0.448  5.682   33.8  5.1004   3.0  233.0   \n",
      "16    1.05393   0.0   8.14   0.0  0.538  5.935   29.3  4.4986   4.0  307.0   \n",
      "468  15.57570   0.0  18.10   0.0  0.580  5.926   71.0  2.9084  24.0  666.0   \n",
      "360   4.54192   0.0  18.10   0.0  0.770  6.398   88.0  2.5182  24.0  666.0   \n",
      "3     0.03237   0.0   2.18   0.0  0.458  6.998   45.8  6.0622   3.0  222.0   \n",
      "405  67.92080   0.0  18.10   0.0  0.693  5.683  100.0  1.4254  24.0  666.0   \n",
      "185   0.06047   0.0   2.46   0.0  0.488  6.153   68.8  3.2797   3.0  193.0   \n",
      "60    0.14932  25.0   5.13   0.0  0.453  5.741   66.2  7.2254   8.0  284.0   \n",
      "110   0.10793   0.0   8.56   0.0  0.520  6.195   54.4  2.7778   5.0  384.0   \n",
      "321   0.18159   0.0   7.38   0.0  0.493  6.376   54.3  4.5404   5.0  287.0   \n",
      "265   0.76162  20.0   3.97   0.0  0.647  5.560   62.8  1.9865   5.0  264.0   \n",
      "29    1.00245   0.0   8.14   0.0  0.538  6.674   87.3  4.2390   4.0  307.0   \n",
      "262   0.52014  20.0   3.97   0.0  0.647  8.398   91.5  2.2885   5.0  264.0   \n",
      "478  10.23300   0.0  18.10   0.0  0.614  6.185   96.7  2.1705  24.0  666.0   \n",
      "26    0.67191   0.0   8.14   0.0  0.538  5.813   90.3  4.6820   4.0  307.0   \n",
      "7     0.14455  12.5   7.87   0.0  0.524  6.172   96.1  5.9505   5.0  311.0   \n",
      "492   0.11132   0.0  27.74   0.0  0.609  5.983   83.5  2.1099   4.0  711.0   \n",
      "108   0.12802   0.0   8.56   0.0  0.520  6.474   97.1  2.4329   5.0  384.0   \n",
      "37    0.08014   0.0   5.96   0.0  0.499  5.850   41.5  3.9342   5.0  279.0   \n",
      "157   1.22358   0.0  19.58   0.0  0.605  6.943   97.4  1.8773   5.0  403.0   \n",
      "472   3.56868   0.0  18.10   0.0  0.580  6.437   75.0  2.8965  24.0  666.0   \n",
      "118   0.13058   0.0  10.01   0.0  0.547  5.872   73.1  2.4775   6.0  432.0   \n",
      "114   0.14231   0.0  10.01   0.0  0.547  6.254   84.2  2.2565   6.0  432.0   \n",
      "175   0.06664   0.0   4.05   0.0  0.510  6.546   33.1  3.1323   5.0  296.0   \n",
      "192   0.08664  45.0   3.44   0.0  0.437  7.178   26.3  6.4798   5.0  398.0   \n",
      "272   0.11460  20.0   6.96   0.0  0.464  6.538   58.7  3.9175   3.0  223.0   \n",
      "144   2.77974   0.0  19.58   0.0  0.871  4.903   97.8  1.3459   5.0  403.0   \n",
      "373  11.10810   0.0  18.10   0.0  0.668  4.906  100.0  1.1742  24.0  666.0   \n",
      "..        ...   ...    ...   ...    ...    ...    ...     ...   ...    ...   \n",
      "276   0.10469  40.0   6.41   1.0  0.447  7.267   49.0  4.7872   4.0  254.0   \n",
      "443   9.96654   0.0  18.10   0.0  0.740  6.485  100.0  1.9784  24.0  666.0   \n",
      "191   0.06911  45.0   3.44   0.0  0.437  6.739   30.8  6.4798   5.0  398.0   \n",
      "385  16.81180   0.0  18.10   0.0  0.700  5.277   98.1  1.4261  24.0  666.0   \n",
      "293   0.08265   0.0  13.92   0.0  0.437  6.127   18.4  5.5027   4.0  289.0   \n",
      "413  28.65580   0.0  18.10   0.0  0.597  5.155  100.0  1.5894  24.0  666.0   \n",
      "343   0.02543  55.0   3.78   0.0  0.484  6.696   56.4  5.7321   5.0  370.0   \n",
      "257   0.61154  20.0   3.97   0.0  0.647  8.704   86.9  1.8010   5.0  264.0   \n",
      "308   0.49298   0.0   9.90   0.0  0.544  6.635   82.5  3.3175   4.0  304.0   \n",
      "149   2.73397   0.0  19.58   0.0  0.871  5.597   94.9  1.5257   5.0  403.0   \n",
      "130   0.34006   0.0  21.89   0.0  0.624  6.458   98.9  2.1185   4.0  437.0   \n",
      "151   1.49632   0.0  19.58   0.0  0.871  5.404  100.0  1.5916   5.0  403.0   \n",
      "359   4.26131   0.0  18.10   0.0  0.770  6.112   81.3  2.5091  24.0  666.0   \n",
      "99    0.06860   0.0   2.89   0.0  0.445  7.416   62.5  3.4952   2.0  276.0   \n",
      "372   8.26725   0.0  18.10   1.0  0.668  5.875   89.6  1.1296  24.0  666.0   \n",
      "87    0.07151   0.0   4.49   0.0  0.449  6.121   56.8  3.7476   3.0  247.0   \n",
      "458   7.75223   0.0  18.10   0.0  0.713  6.301   83.7  2.7831  24.0  666.0   \n",
      "330   0.04544   0.0   3.24   0.0  0.460  6.144   32.2  5.8736   4.0  430.0   \n",
      "214   0.28955   0.0  10.59   0.0  0.489  5.412    9.8  3.5875   4.0  277.0   \n",
      "466   3.77498   0.0  18.10   0.0  0.655  5.952   84.7  2.8715  24.0  666.0   \n",
      "121   0.07165   0.0  25.65   0.0  0.581  6.004   84.1  2.1974   2.0  188.0   \n",
      "505   0.04741   0.0  11.93   0.0  0.573  6.030   80.8  2.5050   1.0  273.0   \n",
      "20    1.25179   0.0   8.14   0.0  0.538  5.570   98.1  3.7979   4.0  307.0   \n",
      "188   0.12579  45.0   3.44   0.0  0.437  6.556   29.1  4.5667   5.0  398.0   \n",
      "71    0.15876   0.0  10.81   0.0  0.413  5.961   17.5  5.2873   4.0  305.0   \n",
      "106   0.17120   0.0   8.56   0.0  0.520  5.836   91.9  2.2110   5.0  384.0   \n",
      "270   0.29916  20.0   6.96   0.0  0.464  5.856   42.1  4.4290   3.0  223.0   \n",
      "348   0.01501  80.0   2.01   0.0  0.435  6.635   29.7  8.3440   4.0  280.0   \n",
      "435  11.16040   0.0  18.10   0.0  0.740  6.629   94.6  2.1247  24.0  666.0   \n",
      "102   0.22876   0.0   8.56   0.0  0.520  6.405   85.4  2.7147   5.0  384.0   \n",
      "\n",
      "     PTRATIO       B  LSTAT  \n",
      "5       18.7  394.12   5.21  \n",
      "116     17.8  393.30  12.04  \n",
      "45      17.9  396.90  10.21  \n",
      "16      21.0  386.85   6.58  \n",
      "468     20.2  368.74  18.13  \n",
      "360     20.2  374.56   7.79  \n",
      "3       18.7  394.63   2.94  \n",
      "405     20.2  384.97  22.98  \n",
      "185     17.8  387.11  13.15  \n",
      "60      19.7  395.11  13.15  \n",
      "110     20.9  393.49  13.00  \n",
      "321     19.6  396.90   6.87  \n",
      "265     13.0  392.40  10.45  \n",
      "29      21.0  380.23  11.98  \n",
      "262     13.0  386.86   5.91  \n",
      "478     20.2  379.70  18.03  \n",
      "26      21.0  376.88  14.81  \n",
      "7       15.2  396.90  19.15  \n",
      "492     20.1  396.90  13.35  \n",
      "108     20.9  395.24  12.27  \n",
      "37      19.2  396.90   8.77  \n",
      "157     14.7  363.43   4.59  \n",
      "472     20.2  393.37  14.36  \n",
      "118     17.8  338.63  15.37  \n",
      "114     17.8  388.74  10.45  \n",
      "175     16.6  390.96   5.33  \n",
      "192     15.2  390.49   2.87  \n",
      "272     18.6  394.96   7.73  \n",
      "144     14.7  396.90  29.29  \n",
      "373     20.2  396.90  34.77  \n",
      "..       ...     ...    ...  \n",
      "276     17.6  389.25   6.05  \n",
      "443     20.2  386.73  18.85  \n",
      "191     15.2  389.71   4.69  \n",
      "385     20.2  396.90  30.81  \n",
      "293     16.0  396.90   8.58  \n",
      "413     20.2  210.97  20.08  \n",
      "343     17.6  396.90   7.18  \n",
      "257     13.0  389.70   5.12  \n",
      "308     18.4  396.90   4.54  \n",
      "149     14.7  351.85  21.45  \n",
      "130     21.2  395.04  12.60  \n",
      "151     14.7  341.60  13.28  \n",
      "359     20.2  390.74  12.67  \n",
      "99      18.0  396.90   6.19  \n",
      "372     20.2  347.88   8.88  \n",
      "87      18.5  395.15   8.44  \n",
      "458     20.2  272.21  16.23  \n",
      "330     16.9  368.57   9.09  \n",
      "214     18.6  348.93  29.55  \n",
      "466     20.2   22.01  17.15  \n",
      "121     19.1  377.67  14.27  \n",
      "505     21.0  396.90   7.88  \n",
      "20      21.0  376.57  21.02  \n",
      "188     15.2  382.84   4.56  \n",
      "71      19.2  376.94   9.88  \n",
      "106     20.9  395.67  18.66  \n",
      "270     18.6  388.65  13.00  \n",
      "348     17.0  390.94   5.99  \n",
      "435     20.2  109.85  23.27  \n",
      "102     20.9   70.80  10.63  \n",
      "\n",
      "[354 rows x 13 columns]\n"
     ]
    }
   ],
   "source": [
    "#Train and Test set\n",
    "\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "X_train, X_test, Y_train, Y_test = train_test_split(X, boston_df.PRICE, test_size=0.3, random_state=42)\n",
    "print(X_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Intercept:  31.6821485821\n",
      "Coefficient:  [ -1.32774155e-01   3.57812335e-02   4.99454423e-02   3.12127706e+00\n",
      "  -1.54698463e+01   4.04872721e+00  -1.07515901e-02  -1.38699758e+00\n",
      "   2.42353741e-01  -8.69095363e-03  -9.11917342e-01   1.19435253e-02\n",
      "  -5.48080157e-01]\n"
     ]
    }
   ],
   "source": [
    "lm_tts = LinearRegression()\n",
    "lm_tts.fit(X_train, Y_train)\n",
    "print(\"Intercept: \", lm_tts.intercept_)\n",
    "print(\"Coefficient: \", lm_tts.coef_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MSE for Y_train: 22.86266796675359\n",
      "MSE with Y_test: 19.650604104730895\n"
     ]
    }
   ],
   "source": [
    "pred_train = lm.predict(X_train)\n",
    "pred_test  = lm.predict(X_test)\n",
    "print(\"MSE for Y_train:\", np.mean((Y_train - lm.predict(X_train)) ** 2))\n",
    "print(\"MSE with Y_test:\", np.mean((Y_test - lm.predict(X_test)) ** 2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0x11b9c25f8>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEICAYAAABBBrPDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXl4HMWZ8H9vd0/PjGSdM5Jsy1fwAeG+8gHZZEPCGQyB\nJOAEO6edjTbe5Mtms5t8STbZZLM5NueSTSAOiBxgEQyEcJg7BAIBkgAJNwYMvuRD0kgaSSPN9HR3\nfX9UjzSSJdkGYRtTv+eZZ6aP6a6uqq636n3fekuUUhgMBoPBMBHWvk6AwWAwGPZvjKAwGAwGw6QY\nQWEwGAyGSTGCwmAwGAyTYgSFwWAwGCbFCAqDwWAwTIoRFJMgIk+JyMkTHDtZRLZM0X3uEZGPvYz/\nfURE7p+KNOwtROSnIvLlqT73lSIiG0Tk1L1xr+h+3xKRf45+T1qXROQXIvJfU3DPI0XkgVd6nT24\n335bP1/uO7cH1z9DRH77al3/5SIicRF5VkQa9uR/B4SgiF7yIREZEJHt0Ys17ZVeVyl1mFLqnilI\n4stGRL4qIsXo2XpF5AEROellXOcVvxhT0Zgqpf5RKfX1qT53byIiSkQWvIL/NwAfAlZNXap2jVLq\ncaBXRM7Zm/cdDxGZF+WjMwXXmhJBOsn1X069/wbw7VcjPa8EpVQBuBz4f3vyvwNCUESco5SaBhwN\nHAN8YR+nZyq5Onq2BuB+4DciIvs4TTsxFS/964SPALcopYb2wb1XAy374L6vG0TkTUCNUuqhl/n/\nV/s9agM+LCLx3f3DgSQoAFBKbQduRwsMYHi49T0R2SQiOyKVRjI6lhaRm6PeereI3CciVnRsuCch\nIsmo59IjIk8Dbyq/79heZnkvR0Tqont0Rv+/WURmvYxnKwK/BKYDqbHHReTNIvIXEclG32+O9n8D\neCvw42hk8uM9vbeIXAHMAW6KrvG5sl7hChHZBNwdnXtNNLLLisgfROSwCfLlZBHZIiKfFZEOEdkm\nIh99meemROQmEemLnv2/JlN7iMgHRWSjiGRE5Etjjv0fEXkwqhPbROTHIuJGx/4QnfZYlA/vexnl\n+07g3nHS9EUR6Yrq3bIJ0r2TOqe87k1W1yPuAU6ZqJEQkY+KyDMi0i8iL4pIS9mx3SmDG6My+DMw\nf5I8KOVjb5SPJ0XXWB7dv0dEbheRudF+EZEfRvftE5EnRORwEfk4sAz4XHSdmyZ4rtNEq1yyUf2X\nsmPzReTuqC50ichqEamNju1U76P9E9ZxxilfETldRNZF518sIvdKNMKPyvSP0fNlgK9OlhfRsUNE\n5E7RbdY6EVlSduwXIvITEVkbleOfRGS4LJRSW4Ae4MRJymcUB5ygiF7QdwIvlO3+NrAILTwWAM3A\nV6JjnwW2oHvrTcAXgfHimvwHuuLPB84APrwHybKAnwNz0ZVuCHg5jXUc3RvdrJTqGnOsHlgL/Agt\nRH4ArBWRlFLqS8B9wCeVUtOUUp/c03srpT4IbCIauSmlvlN2+G3AG9H5AnArsBBoBB5F92InYjpQ\ngy6TFcBPRKTuZZz7EyAXnfNhJikfETkUuAT4IDATnV/lDXsAfAZIAycBpwAro3z4++ico6J8uJo9\nL98jgHXjPFs6erYPAz8TkYMnucZETFbXUUq1A0Vgomt3AGcD1cBHgR+KyLFj0jlZGeSBGcDy6DMR\npXysjfLxQRE5F/3+vQf9Pt4HXBWdd3r0n0XR/ZcAGaXUz9D16zvRdXZSq4lIGvgN8O/oPF4P/F35\nKcC30HXhjcBsosZ6kno/WR0fVb7R/a9FazlS0bE3j0nmCcCL6DboG5PlhYhUAneiRwaNwPuBi6N6\nXeL9wNeAOnRb+I0x93sGOGpsXk2IUuo1/wE2AANAP7qR/x26AoKuBDlgftn5JwEvRb//E7gBWDDB\ndU+Nfr8InFl27OPAlrJtVX4N4BfAf02Q3qOBnrLte4CPTXDuVwEP6EW/xHcDx0XHPgLcH/3+IPDn\nMf99EPjIru6xh/l8atn2vOi5D5rkP7XROTVj8wU4Gd2oOmXndwAn7sm5gE3U+JUd+69S3oyTpq8A\nvy7brozy+NQJzv9n4PqJynpX5TvO8SJwSNn2yYAPVJbtWwN8eZx8GC7zselhF3W9bF878Pe7Wea/\nBT69B2VQ/lzfnKQMSnWn/Fq3AivKti1gEC2A3wE8F93LGnOt4fyZ4F4fAh4q2xZ053Cid+484K8T\n1fvdqON3Av845v4Pjrn/5tL9ozLdNOaak+XF+4D7xpy/CviPsvy4rOzYWcCzY85fDXxld+qAUuqA\nGlGcp5SqQlfmQ9A9B9DSuAJ4JFIl9AK3RfsBvouWuHdEQ+2JjDwz0YVbYuPuJkxEKkRklWhVRx96\n2F0rIvZuXmKNUqpWKdWolHqHUuqRCdI3Nk0b0T2/3UnjT6Oh9YCIfHE301ViOF9ExBaRb4vI+uhZ\nN0SH0uP+U/cK/bLtQWAiR4SJzm0AHEaXT/nvsYwqS6VUDsiUPcMi0eqj7dEzfHOS9L+c8u0Bqsbu\ni9JRYmOUzj1hV3W9RBW64zHes7xTRB6KVBq96Eam/Nn3pAx2+x2JmAtcVJb2bnSj2qyUuhs9SvsJ\n0CEiPxOR6t287tjyVoyus00i8msRaY/K70omL+9d1fGx5Tve/cd6uY2trxPmRXTshNKx6Pgy9Giv\nxPay3+O9UxPWgfE4kAQFAEqpe9ES9XvRri50L+iwqLGtVUrVKG0cRinVr5T6rFLqIOBdwL+IyCnj\nXHobekhaYs6Y44Pol7REeaF9Fj3UP0EpVc3IsHsqDdJb0RWonDno3iOMr04bRmkPo2nR55sTnbYb\n+5cC5wKnolUE86L9r6bxvRPdIy9XH82e4FwYU5YiUsFom88lwLPAwqi8vsjk6d/T8n0crUIppy5S\nKZSYgy7TseQoq2ciUl7PJq3r0fnNgMvOqq+SavM69LvTpJSqBW6Z5DnKKZXBZO9IOePVpc1AS1na\na5VSSaXUAwBKqR8ppY4DDkXn379Ncq1yxpa3jEnnN6NrHBGV3wcY/cxjr7+rOj62fLdRVjej+4+1\nYY29x2R5sRm4d8yxaUqpT0yYAzvzRuCx3T35gBMUEf8DnCYiRymlQuBStK61EfTLIiJnRL/PFpEF\nUeFl0frpcJxrrgG+INpwOQv41JjjfwOWRr2NM9F6+xJV6Be4N7Il/MfUPeowtwCLRGSpiDgi8j70\nC3VzdHwHcNArvMfuXKMKKKB76BXol/BVRSkVoHXQX41694egh/sTcS1wtoi8RbSR+j8Z/S5UAX3A\nQHStsS/g2HzY0/K9hdH1o8TXRMQVkbei7QTXjHPOY8BhInK0iCSIdOkAu6rrEW8D7lbaTXIsLhAn\navRF5J1o28AuGacMDmVyO14n+j0rz8efot+xw6K014jIBdHvN4nICSISQwvLPCPv6a7q5Vp0nr1H\ntEfR/2V0R64KrbrORoL038b8f7zynqyOjy3ftcARInJedP9/GnP/8ZgwL9Dv9CLRDhmx6PMmEXnj\nLq5JdK1moB7Yba+sA1JQKKU6gV8xYsT7PFq99FA0VLyLEWPewmh7AK3Tv1gp9ftxLvs19FD6JeAO\n4Ioxxz8NnIMezi1D63ZL/A+QRPf4HkKrA6YUpVQG3bh8Fl2BPwecrUaM3hcB54v2oPjRy7zNt4B/\nj4a7/zrBOb9C51M78DR7UBlfIZ9E9+62o8vmKvTLvBNKqafQL2sburfXw2hVwL+ie4396Ib36jGX\n+CrwyygflrDn5fsr4CwZ7Y20PUrHVrT++B+VUs+Ok/bn0ILtLuB5tLt0OZPVddB186fjJUop1Y9u\nRNdEaVkK3LiLZynnk2gVx3b0qP7nE52olBpEG1j/GOXjiUqp64H/Bn4dpf1JtGMKaOP6pVG6NqLr\n+HejY63AodF1dprkFr0DF6AN/Rn0O//HslO+BhyL7iiuRQu8csbW+0nruFLqUbTQOWHM/b8T3f9Q\n4GEmqJ/RfybMi6icTkcbrLei8/u/0UJ+d1gK/HKCzsK4SGTYMBgOKETkv4HpSqk98U7ba4jIN4EO\npdT/7MV7HgmsUkrt8YRNw54hIqcDK5VS541zzEJ3TJZN0Cl9NdMVR49K/14p1bHb/zOCwnAgEKmI\nXOAJ9ByXW9BeJftdGAXD649I/fcntIry39Aj2oPUvpl0uceYmbSGA4UqtLppJlqn/H2027PBsD9w\nElrV6aLVVee9VoQEmBGFwWAwGHbBAWnMNhgMBsPUcUContLptJo3b96+TobBYDC8pnjkkUe6lFK7\nDDl+QAiKefPm8fDDD+/rZBgMBsNrChHZrdnzRvVkMBgMhkkxgsJgMBgMk2IEhcFgMBgmxQgKg8Fg\nMEyKERQGg2G/x/Mgk9Hfhr3PAeH1ZDAYDkzCENau1R/PA9eFxYv1xzLd3L2GERQGg2G/Ze1aWLMG\nZs2CeBwKBb0NcM5Oi54aXi2MTDYYDPslnqcFRUlIgP6eNQtuucWoofYmRlAYDIb9kv5+LQziY1ZZ\nKI0s+vv3TbpejxhBYTAY9kuqqrRNojBmeZ1CQQuLqrGrjhteNYygMBgM+yUlw/WWLSPColDQ22ed\npY8b9g7GmG0wGPZbFi/W37fcMjKSWLJkZL9h72AEhcFg2G+xLO3ddMYZ2iZRUkcZ9i5GUBgMhv0e\n14VUal+n4vWLsVEYDAaDYVKMoDAYDAbDpBhBYTAYDIZJMYLCYDAYDJNiBIXBYDAYJsUICoPBYDBM\nihEUBoPBYJgUIygMBoPBMClGUBgMBoNhUoygMBgMBsOkGEFhMBgMhkkxgsJgMBgMk2IEhcFgMBgm\nxQgKg8FgMEyKERSG1x2eB5mM/jYYDLvGrEdheN0QhrB2rf543shSm4sX6wVyphLPm4KFdvJ5LdFS\nKUgkpjR9BsOeYASF4XXD2rWwZg3MmqWX1CwU9DboVdSmgikRRkEAq1bB6tXg++A4sGwZtLSAbU9N\nQg2GPcCongyvCzxPN94lIQH6e9YsvR7zVKmhSsKorg7mzNHfa9bo/bvNqlXQ2grTpkFjo/5ubdX7\nDYZ9wD4VFCJyuYh0iMiTZfvqReROEXk++q7bl2k0HBj092thUBISJUoji/7+V36PKRFG+bweSaTT\nIzor19XbbW36uMGwl9nXI4pfAGeO2ff/gN8ppRYCv4u2DYZXRMlWUCiM3l8o6Ma8quqV32NKhFEm\no9VNYw0brqv3ZzKvPKEGwx6yTwWFUuoPQPeY3ecCv4x+/xI4b68mynBAUrIVbNkyIiwKBb191lmv\nwOBcxpQIo1RK2yTGDj88T+9PpV55Qg2GPWRfjyjGo0kptS36vR1oGu8kEfm4iDwsIg93dnbuvdQZ\nXrMsXgxLlkBvL2zapL+XLNH7p4IpEUaJhDZcd3WNCAvP09tLlxrvJ8M+QZRS+zYBIvOAm5VSh0fb\nvUqp2rLjPUqpSe0Uxx9/vHr44Ydf1XQaDhymxHV1AkpeT7fcMjKSOOusl+n11NY24vW0dKnxejJM\nOSLyiFLq+F2etx8KinXAyUqpbSIyA7hHKXXwZNcwgsKwv2HmURheC+yuoNgfVU83Ah+Ofn8YuGEf\npsVgeFm4rm7fX9GIJZGA5mYjJAz7nH3tHnsV8CBwsIhsEZEVwLeB00TkeeDUaNtgMBgM+4h9OjNb\nKXXhBIdO2asJMRgMBsOE7I+qJ4PhFWGC/hkMU4uJ9WQ4YHjZcZaM0dhgmBQjKAwHDHsc9M8E3zMY\ndgujejIcELysOEt7Gnwvn4f2dhNvyfC6wwgKwwHBHsdZ2pPge0GA/78XU3zbKYTvfg+ccgpcfLEe\nkbyG2B3bjbHvGMbDqJ4MBwTlcZbKhcWEcZYmCb4X9mTJvpChclEzjgNPfnIVNde00hdPoxyXppRH\n42WtCMDKla/K80zl7PGJbDennQa5nL6H48ANN+gPaFPNq7Wok+G1hxEUhgOCUuM31kaxceMEsZzK\ng+9FLbFS0LHVo3+rw3e+k8KqgBl1ed5/7WryVWlc1yUMYGuHC41pmtraYPnyKTWAvxqr8JXbbirt\nPFZPhv/9boqLL04wYwbEYjru1aOPQjKp7zlv3p4t6vRqhkUx7HuMoDDsVV7NBqUkEG65RWuOtm/X\n23fdBffdN6bBLQXfa20dVj91bPUY3NjFk8evYOZBCQYH4a6rM1wY+IQxLSQsS/91R7dLg5PFymT0\n7OkpYo8N8rvw2CrZbmbPDHjz46s48onVFHI+Zw453Fq/jMKxLTz5jM1dd8GMGVBfrwdazz0Hixbp\nvDzjjInLam8uL2vYdxhBYdgrTEWDsishY1m6MX3727X54Z57dM94ogbX+2gLXg4qftsGxSz9Wx2e\nPH4Fj53QMnzNwWSKvq0O3naPoriIQGUluHgEloM1hWG/xzPIV9p5Dq3JcMeNKc44IzHy3LvpsVWy\n3bz5yVUc82gr/fE0Hb5L3PV4T3crTz0EN2ZWkkjoc5ua9KWqq2HDBm3f7++fOLr53lhe1rDvMYLC\nsFfY3QZlPGGwu0KmdN6NN+oRRDKp9y9aNNoD6rTT4M47Ye1aG89bScUbl/OOozLc+ucUzfNHeuXx\nOGQLCdpkGR8PWulz0xTFZSjrUW13IctWTKnaqdwgL2HAcY/oEYAV+gwVHbxFy3D/JRIEJY+tkjHe\n8/Q2jLKbVFWBG+Y56MHVbPTTeDmXQh6CuEvgpDn22TYqa5cyS3J0FlMEgX4epfRgRWTidTR25Wk2\n2UjE8NrCCArDq87uNCiOM7Ew2F0hUzovldJCorISnnpKHzv44JH/Xncd3HZb+fUSXPdQM5kMpGeN\nNoaHIfwq0cLMOjg900ZlmKUQOtw+ZwUf/9jIyGMqKDfI/93jqzj20VZylWl8XELxqGhrhUq0XWQy\nj63IbhKGcPvtsOGRDLmsz4Dj6tMFCnmIV8WozbXzs55T8UObId/h9heWcanVQsG38Tx417t02YxH\nfz8MDenRRxCMDGTKPc3MOksHBkZQGF51dsd19YEHxhcGxSLccceue63lwshxRhqt6mp4/nlYsEBr\naGIxrZIqGXaTfRmcihRz5iTo7tbG77lz9T36+/WI5dAjbH49uJJrqpZTrzI0HJLCrkzQPwipJKPs\nBJ6VeNk2mJJwvP6qPIc/tnpYSOTzMGOmi1UXCYIzztjJYysMwcfF8UbsJjfcoOVJhhR23MHxPby8\nQ0I8AselafBFKsNOirXzyQwkceMe52ZaySWh1V3J4YfrBZ7Wrt1ZjRSG8Ic/wF/+ovPbdWHhQj16\nK5X1VCwva9g/MILC8KqzK9fVeHziEcdNN2k1yGRCJpXaWRgtXKhHE6Xebn+/bsvPPBPuvjPgpL+t\n4ojHV+Pgo2yHx49Yxo7GFk453eb++/W1HUdf56ijtIApFBLE4834vvYSqqoI4GJtJ1C+T0+/w22p\nZfxufgtJp8i5b8lwypIUVsXk6qlyddvixZDIZFC/88lZLpYFM2ZCUyMgLmSz+k+Rx5aKuezo0IZ7\nVfCYhsO6B1Pkga98RZ/a0ZHglpoL+Yfu75AM+gDBUiExP09n1UFYySQza2D7dpeBRJoLwzbaT17O\ngsMTeN74aqS1a+E3v4FDD9WGb8fR+V0s6tHckiVG7XQgYQSF4VVnItfVLVt0g1IoTDziCEOtJ9/V\n/IixwmjRIr1/3TqtHhka0vc65RTo+cYqFm5oZauTJrBcqpMeRz/SSv8ieO8FK7nggpGG+/bbR9Jd\nUTE63e7PR+wEO3pcOno93pa5jCN67qWqdwv+b326vulQ/6llOCt3Dgsyoe1lSQp+5uAnPJykbm2L\nRXBCD8txtJdV5LHVEaZZt97FH/JIqS5WxVdw7b8mmDlTN941NXoV1b4+CEKFQlBhKQWKiiqbpkP1\nc+WHIJ5wqRrKcuzcDP3SPK4aqXz05rpaiD7/vD72zDPw9a9P3fKyhv0DIygMe4Vy19VSY15ar7qk\nRRlPGFRUwOmnw03X5FlYnyGoTZELEiONdZmKfqwwmjdPC5nFi+GCC/Q5a6/L87b21WSsNOK42EDv\ngIsXS3N6VxtuqPX7pUaxlO6bb4aBAe0FtGQJLD4lD6dpO0HouHTsgFiFi5MdYtFza1lXfxI9xQTb\n2j3mfK2V7NNw+E9WDhvfPQ+uuUbnx5w5Y20vCc75wDJil7XS0ZtmR8ZFfI/qQhfZC1ZwuJvAamkh\nX4D2f2+jIp8ltB2uqVrBmmQL27fC4KAWdB0dYHl5zhu6iqc4FGwb1/awYjbHeH/G2bGFvz48Fzdh\n0ZuF2qJHZdxhqCI1XAZj1UhjR28HH6xVe4UC9GzL8/ZFGSxvYnddM9/itYcRFIZXhbENQsl19Ywz\ndm4oXFfvv+oq3biP6rm/N2Bx+yre9rfVZDM+Pg4PH7yMN/9LC4sXj+6hjyeMLrxwxDvK8+C+32ZY\nWenjiUsup9ValgWh7VKVyOJt0/r9UhpLhtww1OeGpd542cxu34NQgS0BVQM7KCqb3ADYLvjKJVeR\nJn5dG7eeupx3vjuxk2dWGO7smXXGD1p49gmIX9dGrZNFOQ5/PW4Fv+lr4fybQcSm7c8ruTG/nBQZ\nspIi8BIkLJ3mnh797fh5jow/SUI8MqGLFYKVSFJbC5mBWTT0v4gM5UjUVVHrecR6u7j90BX4TmL0\n6KmsUS+N9AYHdVkBOBJw3GNanVezzofYaHddM9/itY0RFIYpZVcNQmmJ0LHn33YbdHdrPffMmTB/\nftRz37QK6/JW6menqX2DVrHM72nF2gpYo8NnTCaMQO/rFj0ju9r1qKzUk+iGhmAw6/HiZofPtaTw\nLD35LB6HhgY9n2De9Dy1VRkypLjiigRBLsV5kZ3AcVwsASl6iAoIlI2HSyESRF1Zl+l2lvt+m6Eg\nzVx/PTTV5JljZ/CTKZ56Sve8yz2zMr02F6uVNHx4ObVBhqGKFL6ToLkAl1yibS87dsCQStBjp6gP\nMvRZKYaGEjoEVRCwUlZx1uBqxPeYH64jwQAb1HxsS6uf2sMZ2O4gMeWRHOgkGXe4/dAV/G+hhWNf\n0kKgNOobW7ZbtmgHhOMOy3PcvAyLnriWI/76KyrmprGadnbXNfMtXtsYQWGYUva0QSg/f8YM3Uvd\nsEGrm845LQ+njLiBWoBb6UJstBvoMJH3kZtKkUqNVnt4nv6oeIJH37iM//O4dj3N5V2G+jzSqov7\nZ69gfXsCEd0QT5sGa64K+GzVKs64dzVezidXcLi5ehn//kQLc9+6jKMfbsVqSNPY5NK5GawgYIfM\nJO/pbnI8DnHxGCg4/G1zih2/DXhvxyqOuWc1fd3akH5HwzLWPNfCggU2vj+i0vE8tHcVeuZ3EOj8\nfPxxPYN6e3vAP6pVLPO1UT4IHa6JLePioIV/UKs4v1fHp8pZLluLA8xjIyjYXFhAMOSRlgy/nv1Z\nflO7nPPemsGr0sLouA3wpS9p76+xBuxSWb3lpICZmVUcd9tqKmMec/PrKDY1UzUjpk8uc9f1PrCc\ntWsTZr7FaxgjKAxTxp5OwBrv/IoKPZq48044+5gMbqTeCcORCciWG3n/lMJnTDJLORR71Ahn2zb4\nUb6FTx0Bxz19JRXdeSxJ8MdDVvAzaaGmRl/297/Xs5TP2baKN29upacuTbboknA8LujXPeVv97Tw\npRPgyCfaaJIssTqHvyUXE9/4PDHbw4q7VDgeNX4XNzSu4KVtCZYOXMRJmy6jf9p0vNoE+T6Pc3a0\nUihAZ/9KMhndi0+ldF4NDupRycaN8OKLehTR2anl40eLq7hQWtmhtBttTHl8qNgKUmSpu4aMncYP\nXAoebInPBw9mqXbCMM6QVHBpuIKbiy2cdLDNYJ0WRoWCVoeNFRKep9VlpRBZxz+6imO3t9I3PU1Q\nCIgjJPu2wiZH6w9BXyCbJbcpg+c179JzzbD/YgSFYcrYnfkS5Q3CLs93U9Q7Dh3tHjsyLqECS9DR\nW5MOUrrYJLOU185eOWqE09gIf3pAN7yHDilCpaisVNTVQ/d66M5qVRTogIAXeKvZrtJIn0siAb64\n9Kg0i/vaGJy9nEuGVnLRLctx+zOkUim8rhhXvX0VJ29tI06WIHS4qXEFv05+jE8PfY8lj30NZQnV\n/e1UVTXTXjWXzECaM7vbuLx/OUuWJIZVPQ0NcPXVI/ae+npte1AKOjfnOc9fTY+dJlQuBFDEpdtK\nszx2JdOnw/N9LmFBX8srQoCDJSE2RUARi2Iizpqlz5nIJhGG2vBesqkkJc8HNq8mV60dAnw/mm1n\niV6vY86cEaOQ41A5J7V7kX3NSoP7LUZQGKaMPQ31XX6+44ycV1K/VDUkeOLIZVStaSVePSIEBjd2\n8cSSFRyZSEy6rkS4uo3b37icWbMSxOMjPfNTX1zF6Z2X4tdU01dZR920gGMeaeW8AlwiK4nFIqN1\nJkNMfHxc8MEugu+FOGFI0vboXZ8hX99MfzFBKgoMmGqEde9YyV86ltO7PkO3pFBOjIt2LOVN22/C\nDQuEgY3vuFRnNxFWw7aqecxJZvnhv2dw36Cvc9NNWgV3+OG6gRaBrVtH8qq2mMFSPjnfRQCFbpuH\nQhfPE9rbFZ7l6dGXgtnhRmazkcCK0VM9FwkCPl5sZW4tPNalRzLlnmjlrF2rR4Sl2e7pQoZCzqfo\nulQkQWxbj+w2b9J/8DydmK4uWLECtzoxqXu0a4/MRzErDe6fGEFhmDJ2NV9inKUfeOc74Yc/HJlH\nBtr3/zOf0b8vCVo443g45pk27FyWwHL46/EruCNs4X88cCdZVyLIZ3H7M8Rn6cb3pWfy9P1tEx/p\n/C7Tir1IBgIlbMs2s9mZwfuljUuD5RRVgmnTIBdL4WUdaqd5dPfHaMhtZCbt2ARYoaL5T9fywNGf\npKrKLr8tZ58Na9YkOOJMfd83P3wRb3rsZqy4i3hFCBROsUBe4iS725k2ezr1TQ5+KkWmXYcBv3FN\nihkzEiilw38PDem5FEEQeTVZKfzQIYZHgE0cDy90iVsBvuVytX0BS71f0W+ncR2HWf5mALYwixCb\nQNnkq9Kc3dfGx767nIIkxnVZLakH58zRwvOpp8CdpvVPhX4PwWVmM1iNcyHw9Ygim9UXWrECWlrw\nPDjxRJ2oN4r2AAAgAElEQVT+O+/c2T2an+5e3CrDvsMICsOk7Knf+2TzJcZDRH/G29ffD4MFm/sO\nX8mDh2g30JLBNb+ppMraeV0JgDDvoWyHfGWKxFDAiY+v4rz7VjPd20hDcSuDVFK0KxBCZgWbCD0o\nxiqZHsvQEWvWvXOV4OaaZXzYb6UmHGQmW/FxcAQ63Gbenf0VNZtiwOjGrDwPwoEcb/3LD3DDAuJ5\nKD9EgAALV3mEykJt3c7l9S0kz7qco55cjZ/3+YfQ4XdNy7h1Tgt9ffbwiEhEP2pBJbiKC/kc/001\nA8P3HgincUnl57m4+AnCRIx3D7XRnBwkJgEvqXlsCueSyGthjO1SX5llWiHDtAlCpZerB0uTGJ9/\nPsFN1cs4r6uV2lSapkZXS4GKCj3b7vzzIZUidBM7ecCdcQa85S36/q7LrlcanOL1PgwvDyMoDOPy\ncv3ed+WiWk4pPMSJJ+6serrlFt2L/v3v9SpsIglqapo58kg9uWtYleWOXldCxfS6EvlNXdy7cAUv\nbk1wxn0Xc0y2lc1SR0WYI8QiyRBWKBTsJL7lMltt4UX7jRx7Woqn1us2TwRWt7cg2SKfky+jxMJS\nik0yhx0yl/qaIqdn2ujvXE6qOTFuHhT/8yIq/E7EFgIlBFh6RIKekGGhuDL5MXJPwcedVjJWmjDh\n4uU8zuloJdMNL9WvJJ8fERSluRwKYFjxVPYtEGBzCSu5NLact89v5782fIDeoBq7KIgFMRempzzq\nks6kluSx6sHZs+ENb4CugRYeexTer9qQrqw+GI0gSuqitTftPLr8zW/0qcMecJOMCEc5LBj2KUZQ\nGMbllfq9j50vMR5jjdmlyVu2DS+8AE8+qbctS6tc2tt1TKM//1l3NIejmra04AcQXtFGNpOlp8/h\n2eNW8NIJLZzY18uZf7ycHbE6VAAoyEsFSTWIGw5RsHQs8rh43JU4m8Y5CVRc36OzEzzP5mrnfM7l\nSnJ2DeK6SMzGCbWrbqw/SyKXIdOeosrL4M4oCwxo5UheeSkUPVQYYimFwiLAQQgoEucH1f/Bj70W\nbgtPod1LE5/mYltgxV125NNcELZxnb+cVCpBb68WEqWJdEu5imd4IwEOLh4eLg4+Zw/8mp/GP0a/\nl0DFEnRVz+e2hg9y1tZWqurThLbLwW/wSPR3wS5CpbsunHUW/Ph72tCcdfTz1dbavP1zK7FOXz6u\nAXq3PeDKRoSh4454tvnaEG7cofYPjKAw7MTeWmdgIuP34KA23MZi2nja3T3iiaSU3r9+vU7j4sVw\n0802l6xdSXvPcvzODLG6St7i9nH2n3/MUU9cSbrwLL7nkq2cQZiHooqjgAoGsf08YgkDyTQPHN7C\njP48tGdISoqFCxO89BIEFSn8gksxsAk8m3ikGisMeFTGbG76yLUct34NfcrHijv8ce4y7prfwlse\nuIgLN3cAcWJKP4BFiEQ9/z8m3s7aiiU0DLQjyiePSzCo88SNQz50sb0sFUMZYk3NHHssPPGEzod6\nP0OMyNAO5NGNtIeLFWapLmbIhs3a1pKDq2taqKqC07v0Ik1usWwEMBlBwLwbfsxFf72CIBCK4nJr\n/TLumNZCNmvjWQnccXr8u+0Bl0gQLl1G3w9bac+nKVousdCjOdFF9WdWYBm1036BERSGndjdl/yV\nxu2ZyPi9YYN2Dd28WTdyoAWGUloVrpR2c73lFr39ox9pB5vq+hhv2X4D7926mpnt7TTQRV/tLALb\npVgUavq3kLMrifs5PGL4VNFNiunhNvpz8MMH3kTV40Kvk8Z2LW4cOocfOJ8mW6jk1/YyPuS1klFp\nhkKXaXGPRrrYaC3g7174FUNVaTKDLrkujxMGWsnnihy96UZUqHCliDWsGgJB4SMcXHyaizsvoBBa\npKWTrKoBieuJgUDS8aiMW9RX5DnhLXniNQk2bNAust2SIsDRRmxclL60Nm6LQ6+doiKho9/W18PW\nrTY/CVfyv4nlfOi9Gf71WymYIKrtcLlWBNgfXsqi69eiLBtl2WQTTby//zLUS/CNb6zknnvgHe+A\n97539MBkdz3gPA+urW4hXwvv2N6GE2bxcbi+fgXp5hbMpO39A1GlGvYa5vjjj1cPP/zwvk7GAYPn\nwf/9v1BXt/NL3turvZT0CnGvPG5PGMINN+jJXEppF8y3v13vu+02ff++Pq2FUEqrs5NJ+PjH9agj\nCLSKqrIS3r39Yk7b2EqPVceRxUdBBNfyyaGFA2KhgB63kUavnbyK41JgC7MJxWaubCIMFUN2FVXO\nEHgeHdZ0vs9nWZ34GB/0LmOpasPyPRoaFLfXvo8T2q8nZ08jEK02ibkQFjymFXpIh9topBMHLSiE\nYCSPcfGIs5G5dDgzWRQ8g6B4zjkUX1xixUEOtZ8hr+Jk3UZ89BrXlwQtiGOTz8PHihfzvv5WOlWa\nwHZxLY9U0MWtzStYO2cl2awe+QwO6jxzXT0XLpGA971v/DUm1q7Vrrm5HJz94kWc/+iXGCKOFXNA\nhYjnsc2aSS6e4n31dxGr0muLL1wI//RPo+vATePYKEoecKUFqX77W72uRWUlHLkoz5HNGfKVOvBj\nby9cdJGZtf1qIiKPKKWO39V5ZkRh2IldubneeefUxO0pNUy33z5ioK2rg9/9To8mSi6hpXODQKud\nqqt141fyAAKosPKc3rmabDwNXoCgKBIjDC2mqV5EIKY8QJELqvn57K9w4qaryVIHcZdjvYcoWnFc\nNUQq2MFQrJ6i5VAbZPgH61LIwyWqBVuKLLOupL8fTsxeTQOdvOgejig9qS0MwfNizAt30MxWFILA\nKCEB0M80FBbNtNMezmFD8hBme+tJFvtoYjsz2IblhxTsCtzKafTEZ3BuZyvpQ+CeQ1fyl7/AT7a1\nMCBwYXglySCPpxLc0LCCe+a1oKK8GhjQa3Akk7qsbFuX13gqxJtv1p2A3l69fOoRz19J3rcJHAdR\nIGJRUC6NwQ42eFU42QzVzc3U1OgotVddNVIHSi6xvq8XnhrrAVe6V1eXVi3290NvbwLvxGYOOQTi\njpm1vT9hBIVhXCZycz3tNPjnfx5tvyjZHG+6ac/sF+UG8+nT9cjg17+GY4+Fv/97LZg6OnTjW1oQ\nZ/p0/d3RoUOH33KLvlYil8EKfSTuAgHK1+5BcatAXBXot2vJU4kdePSoWij6hOLgWUkqGUJQhAgu\nBRSC70Og9DigJ6zh/bRRkSiy1PsFfdSwI1+Ji8d8nqHBX89GZwEqhIIPb1DrSdGJR4wYASGCRUiI\nhYp+C0KIheDjhkP4Q0IfVfwhfirv8q+nEMQpomdcV2Y20R+DzeFMjlvXxrZ3Lsf3E/w5D8ksWDmF\nUgoVau2A70Nfvx49PPcc1NaOnrc20RoTl1yi87WuDqYHGWwLQmxUEBKKhVigxEJUkaKvcJpSxKLQ\nTkrpa113nRbwd989Mto8/XR461sjl1x0GJKf/ETfq7ZW28ItS49iHn5Yj06GJ12aVfL2C4ygeL2y\ni3AJE7m5ZjIj9guldEP0/PO6tz80pEM9XHjhrlVQYw3mQaBtE42N+vuNb4QTToDHHtMjh/nz9bKc\n/f3aPbMUPty24aGH4C9bUgzkHQoFj9B2ySSamV7YRFINgmVh2Rbie2x157AjnM5bsjczpCxc0RPV\nEMFSPqKUbtDFwpYQhZCjkjQdrCz8gBql9TkhQjvNbGI2c8LNbCk245HEVXnmsIltTCdFDz4+CfI6\nTwnJUUmCPCF6lBGjwAk8RDwa7SwsPMNmZqOwCNGZmFcuDcV2NlizUb7Ppr9meCnTzKfiqzhHtdJV\nmWYwlqbQ7/GuzlZiDvzlTSsR0RPlfH+0oBhvpnwmAy+9pKcvOA70WSl826U73kS6sBXHcfECCwl8\nLHxurvsANU263hSLUMjmee73GdZ1pbjnngTHHgtHHKHL+frr9TVFdJn39MCf/sTw4kr19drDLB7X\no5nSx6ySt/9gIsG/3ggCuPhivdTbe96jvy++WO8fBzfMk8q344a6sSs3Uj73nJ6pm0hoHXMyqXv4\na9fuOhljDeaDg/qarjsSJXXRIr0MqV3MM8du58Sj83zuczr+0TnnaGGklG5oKuoTXBtfRn3YhR16\nFGfMZaCyEVGKwIrhWAHd0+awPT4XX1yKhZDbYudQ53dhS0BXohkn1DGQPInjOiFJxyM7rRnX9pku\nHaRVF77E8JSLj81sNhHg0EmaetVJo9rOQp7DwSdNN3EKOPj0UkOOSsJICdVBI3E8qhjApRiNYmCI\nBDF8ZtOOi4cQogCFftCKoB9RIc9sqkQKWtXWJWkS1S4NaahtcMm6ac7qbePFp/NkszqPHnxQ9wtg\nRIV41lnjTF0I86QL7Th+nlyQ4I6GZQyGSdrVTAIvwAnyVNoF/tq8mBtnf5IgAL8Q8LanL+aX7afw\nnRfeQ1vHKVzQdTH33RNw9936HrNm6dHKVVfp0cqsWVpwdXaO9FUaGrRAKxb19InJJmka9j5mRPF6\nY5IAeqPCJUwQkdVt0QsGXXUVPPustheANjgfdpjuwe6OC21J4OTzOv7Sc8/pyK4dHWWLHamA93Wv\n4rDsamof9+kdcHhw3TI+/0gLZ51jc9ppcOut8OY36+QNDbTwwuNw3Lo2GPBxZjTQGfoM1M0mSEwj\nUDaxHkhYHqlKB++9n+aum2p56+Y2skEFMbuReidLrDhEGBTpdmewXTXREHbgKxn2Lio13h4uB7Ge\nAJsuUjTSgUPAEAkCbHJUMI0cFQziE6OISycNdFFPIx1MpyMSBhZ5kgyRiIRLEY8YCfIUSKCAOAWO\n5lEyqoEfb1jM7ysWI36RRJ3LtEqdp0qBp1xCL0uDlSHd0MycOXpOyGOPjayxsVMjHAQ0XLuKqzpX\n423wKeJwXXwZ35KPsSmED7ht9NZXoRTcPWMZT7ztk6Sftnn8cfhA/youGGolQxoPl7jl8SGvFceB\nnz29kpkztcB/6SU9UTIIdBrq6vSooatLC/raWp3+6dN1v2XatCms84ZXjBEUryf2JFzCqlWEl7bi\n16Vxal09ASoSKIv/cSV9fToGEeje4WGH6QahtL71royQJYP5978fubZW6wZjxw7dkKxfD+/rXsVR\nD7dSrE2zpeBSUeFx6oZWqqthzRqdhvJRybQamyffupJnT1pO9/MZvvC9FDu+eTk117YyGCZRjk1M\nPGYkuvjb0Stw6yr564krWVO5nFhfhoPfnKK5qo8zVn+AY4YepMbbwmFs5Q/2yTQGMQaoYg6bKOAC\nFgnyJMjzAvPpIs0inselgIXCJiDEIh8JjS008wvrYziuxXvzV9BDHWkyKLRtQiFUMBT9N8QmwMch\nySBaSWWzWQ7iJXs+M+qKfDR2DcVClqxbB+LS3xeFWMLDijsEtSmeekrny4knaoPxV786Er58FKtW\n4fyilVhdmvZBF0d5LB1qZUjg0thKnjp2OWe+KcPj7SmeeD7B0K16IafDk+0s7b2CbiuNF7qIQFFc\nMlaa9wy1cWX1ctatS9DQoOvDAw9oe5Nta4Hg+3p/T482vDc0aG87IyT2P4ygeD2xm+ESwsE8vT9e\nzba+NMWMXr2tscmlKZVG2tqwli/nggsS3Huvnk1dVTWiA58oUux4NpHTTtO9x8FBPeNaKX09x4En\nH87z9f7VJOek6e/WIb6xXXJ2mmOeaeORI5fzhz8khr14Ku08yUG9ElwuSDBU30xNEzT8uAX/UJi5\nug3lZdmQd/jbcSt45LiWYdVZVU2CHbnpvOOOVSzv+T5NbKdIjO1MZwvNNAebqaGXjcxGCJnJNiyK\nJBkiT5wiMd7GH0hGtgiAAi42wfBoYjXL8MIYHyj8nE7SBNjMYyMJ+qiM7BGVDCJRaA8BbILh62xg\nLpvdBSgf6htd6hsbyT3RR6G/g2y8kf4Bl9pKj4pcF7c1rSB0E1RXa/vRggVapeO64wiJqPMQ1qfJ\nd7nU18PgoEufn2ap18ZDs5YS68vxt80pHn8uQW1VwPmdq3jnn1cTDwd5g/8CW5x5bJC5WLbgB3pU\nU630qKYYNPPooyMTJRMJXQWzWR2Zo6dHdzKqq7U60aib9k+MoHg9MUEAvdK6AaUhwO/WZHhDh49V\n65K0IQxg21YAl+mWFihuczPnnKO9lpLJEbfLnSLFTrKoUC6nV3SrrNRGbNfVPc5sFhYkM8xI+IQ1\nLkEXxCNBFNoudpilNsiwYyjFO4/rYOCK6/n77Wtw0Gtq/37mMtJfbMF1bcDG+dRK+IfleNsy/Ogb\nKaoaEjhKN6LV1Vp+nb/9xywt/Ix6uhikAgXMYBtFHGwCZrCNJnZQJEY7M8lSzZE8QS+1HMRLxPBG\nZXUcj3A4ohO0WR/mGmsJfU6a6iqXgT7FYKGCavqoZHA4WhNo1Zaev63ncOepoJEuNgULqay0mNkM\nYrlMm5Mmcfa5NP72Fiq9LE7CoS25glsbW7DQWV0sanWe40zgQRR1HnxLr/dRVQ3TqiDwY9RuaecX\nW0/DDy2C9Q6/m74MGQh5Z/fP6bHT5OM1+H0baPY34itot+dhCSQcD89zyCVS2IG+70kn6fx2HP2p\nrNQ2iq9/HU49dfSkzVc6kdMw9RhB8XoiMTqA3rCNIlo3gEQCz4Mb7k/xrwkHhUeIi2Xrv2a2eTTO\ncbAigVLq/d1xY55CX4ZidWrUwjvApDaR+IdW0t6uG+tEQguJMNQC50/rK1kfhPTZeYZUgrpa3XBY\noUdo2Sx8/FrOfXIN8+5uR3V10ZGYzY7K+bhS5N3drVS3w9iorqWw5r/+rZaJQQBuMccHN3yPT+W/\nF6l/BskRMkSSAi4H8SI+jl7vgZBpDHAwz9FNLR00UkcvDj4KO3KwHUGPDmwgZGX4I0T5DOJSHICZ\n/kYqGWCQCioYxGJk4msYqZpAq5KKxLEJqKv0mL0wgW2h8zEWw/m3fyH89L+w6hMZwroUmzsT9D6j\n86q7WzfGd96pPcXWroVzzx3jkRZ1HpzQwxK9hrhlQXXXemqLnawLF+BZCZK2x7u2X0qy2EemfgFB\n3sUW2O7OYnawkVnBZrb4c7DxaVBd/OGwFRy1SNeFe+/VwQQdB9at06ML29YrCB522IhAeLmBKA2v\nPkZQvN4oxfZpa9Nd9/Kon0ShvcMETx61jGMf1etKh7aLg4c72MHQ2y8gsp1iqYBzNq9i8VOrCQo+\ndtzBOmYZqBbA3qVNpHDucuY2QXF7hs6eFJ39CQb7A5YOrGIpq6mRTuZ7z7DZms2mzHzssEij1cX2\naQs4+E+/otetI9/TRxC41PZvIVAWPbUHUajWKjJWLNf6jtKIxvM4C5hz9Ae4uP8TnLf1Mpb3fJ90\ncRsxPIZIolBUoOMyDZEcNi67+PjYhFh4xKggz0OcxKn8LpqDMX5LlsfFx+Vt3IuvLCzfw3FtZoTt\nFIlTREd6nUY/oLAhslP4w6LDw6WCQWrrdONaLtxDN8Htd8LjmWaef0g3ujU1OoBiZ6dW5VmWHlV8\n/vParvS1r5U1vFHnwWptpSmVZmuHi3hDzB7YzPbEbEJJEAMGPZeMU83R4QsMVR1CYEN/H2yLzaWq\nCup6NzDP3UbBqeDPh6zgsaNa+ODZWr34wANaxbdhgxYS2axWN3qeDv1x0EHwiU/oY9deO/FETjPS\n2Hfst4JCRM4ELkJ3yS5TSn17HyfpwMC2tXfT8vGjfpZewgcO14LjiCfasINeErkuHWLj9hvg92v1\nyCQM4ec/x0qnsVLjeFBNZhPp7aXm8h/wv8+spZDz6R9y+I2zBKfQz/lcRweNPC2Hc5C1nlnBZpLk\n2dHbzOXVH+LMjVezVdLUJ3wcP088LCIoZvavIxYTtvrziE3zqc9kdMtz2WXDOhjxfY54+ov8ZNEv\n6U2EuCpD3q7EDfJUlq3rUEmOAAuLEJswCgxuIyjieBRxOIq/RXsDbAJKob5L6qYgihS7mdlYhNzN\n2zmTO8gVqhGldLjvsMA2mphP3/DLKGO+6+hle8PhSH4I1dGPuCPCvTRp8eijtSfRunU6tEmxqOei\n5HIjZep52rX4mGO0Z/QwUfTduivbsJNZtmYCup007e58UpUhVXGPnpxLbqBSp9nLUZGsopAHyxI6\n7Jnk6qrY9PUreMuSZmYGCS4sa8wbG/WoprFR9x26u/V3U5M2YG/apJ0akkmdtrGBKNeu1dXo9tvN\nSGNfsV/GehIRG3gOOA3YAvwFuFAp9fR455tYT1NLeYyeSjvP8ff9gEOeuIbkvEaamqMWp6NDdw0X\nLtzZ3pHLwV136e1TTtFuLLY98pYHgY4jXl3NdtXI08/HmF1cz8ziJmyK5EmwnSZeZAHKckiEQ1ST\n5f31d/Lu03N8+Mb3kHUbaRp8kTd4z+revFiICghiFfRWNTMQq2feZ96N843/1K1msajTUNJvhSEq\nlaKYD/DzAfEgN2xI1momhnv0CvCJoWDYI0nQKqIuUlTRj0sxmnUdDIf/GyLBi8zHxmcWW3mOg6mn\nG1tCUqoTmyAK8aFIkB+ltirHI85A7Uy+fNajfOMLOeoWpIbVhGNjcgWBLprf/17/HhgYUfWkUrph\nPe44PcgCXYT33x+FURnMUzGUYf2OSn60fjEVhW6qczsAhULosJpIWgXybg0DyUbsChc/51E51MUD\nh66g+vMrd2q8PQ8+9Sk9unnhBW3DyudHQoosWDBil/I8bd8au/rp/fdrj7j583cOJ7MnIWMMO7O7\nsZ72V0FxEvBVpdQZ0fYXAJRS3xrv/NeKoDj55JP3dRJ2m0xGfwhDZnc/hh23cd2ypiwItB6gtnbn\nPxeLWvkcj2sdyKZNoyf02bb2o62oIEQoZPPEwgISuYaWCIE8SfIkcPB51jqMytoYc3sfQ4lFMhiI\nAmHoec4AodgIIQNuPVX2IFIo7DyZUIThcKuWpYVG1LyXN9Yli4OFGhYaYxvzEKGIgxONOUpCQg2n\nzMLBjxxpkwgKFz0LO0meIDo+kZBQQICDJSEbG45n3iHJ4RUBi0V48cWdo/wqpeekjPfYsZhWTdXV\n6cZ5aCjyGqvUnzDUWq2Dg6ep9jKElqWfWilEhZCqR9XUEW7bgV9UiCXkpjXRVzmDfEFobBztFl0o\nwDPP6LSU7E+gNZ5hqAWGiH6WMBzxtxjO33Bk4FsugMJQjzIWLtx5hcTXG/fcc8/L/u9rPShgM7C5\nbHsLcEL5CSLyceDjAHPmzNl7KXudkErpXlwwWMQZVBAb8zaWun1BMLoLWFqGrRQECCZ+k0XwPYiF\nHhIFrSjHgmgaWp4CcZTt0NtnkaCJ6UF7ZBuwo3P1xDUBQiuGG+RB1Pgzzss7R9FvGYkCrnejw4Gr\naJwxnoajdI5DQJYaEuSJk8cjTgwfUMQoUiTGEMnoP1qwVNFPnngkNMqvt/Pv0o7a2tFZWQqLEYaj\nG1GlRj7lS82WAit6nlb/lFYTdBwtMCLZzbSKEKu7QNGJ4wRFFCFKCUUrjurzGGiYTnfVdBJ2EWIx\nHf8Jfb1MRtcbEf27vV2PaixLVwnL0vcMAn1OaTa2UvrYwIB2bojkN/l8NPlyTAGUZuX7/uiqZnh1\n2F8FxS5RSv0M+BnoEcU+Ts5u8Uok/15hvPhP+fyI+misiilSHw37tpZ7UK1cOfLfgw4a7ZbrefCn\nP7Fj9jF0bIc3DD2MG+Rwynrko11FYTtpfuKez9r4+dipWk5tv4wvDH5Zu5BaNp3OTPK10wmUYPVl\naVA7qAl6icUtnEJu1GMG2IRiYyufIF5JjEg1FYT6jpZFUdmgFH70iggh8VGNugx7Q9mE3M/hHM0T\ngMuD/B0KqKKPI3mMAIc/cwJYFrPCjcxiM9UohhyXrcyj0d+Kg0+cfGTr0HccMZIHqJiL9YmlWJ/6\n5CjBPF4o7+ef12E7So21ZelPKeuPPFK7qwaBth3U1OgGN5/XXmE1A+0svvw9FKobyQ8F+IMeyWqX\nadU20tXJRwavosduJjVT9+hLEy1BDx6/+11twL7qqmjkMJgn7MzQa6eQpA4fns9r+0SxqNNRVaVV\nYt3duuqVZpGfdppWi9XXjx/y3oQh3zvsr4KiHZhdtj0r2md4NZhkrsOkLrWf+YxugSbwoBplzA7L\nRguJBGF9itwLO+iXJkLFsHtoyYA8KnlWnKIk+ELuy1yQvxKGXFazjP/gayzncjplOoGVoGLQo8br\n4p6m8/nolm9QkDg5P04VxVGNfJ44IhZDyTrswiAZp4la1YlW8hRRoTZaD5EkTzwybDvEKKKwGCKB\nQBTcT3d1EwwRw+MlDkJZFmEI/VQT4mATEsNjutoRxYeydfwm22ZGsZ2cVUkyzFEgTiKanS0ldZcI\nVtxF5s2DK34FbmxUqJXxovyec45eCa+hQcvx7u6R0UU8ro3IpUCMtj1S5KUYW1knhVvhMH+hx9PP\nu7i1SWwbhvo8woKDsyBF8SX9n9Ls74MPHrl/PK4N0E3pgMM6V/Gu/tWook/ed1gzuIwbmlroztr0\n9+vRQF0dHH+8vkZptFM+izwWmzjkvRESe4f9VVD8BVgoIm9AC4j3A0v3bZIOYHYV/2kyl1rbntCD\naljh/MILOjZHqbVqaqLLnckV8SWcV7yGAaeGSq9/WK+v1Uh6whliIZaQDjtQYtFv1+AXbT4YtnJF\n/KP8yvkE7w/bmBbvp2/Q5v+3d+bhbVV33v+ce6+vZctbItmJ48ROIAklpEDYhil0KAUaSAgpO8Td\nxm7rqdtn2pkybZl2ukyn7zPvy7S004HWHdxtsKGhZQsJZWmZQqe0HQgQ1jQpJCHOZiuxrdiWr690\n3j+ObiQ7siw7liXb5/M8fmzda0nnajm/c37L97fLXsq7On6OJYcolBEi+OilggpxhAI5pOIHRgEH\nC6pxKeKHBR/mAa7mQ9aP+MzQv4E04qmyXkxBjeWb/B0f4afM4xA+lKNduZ2GGMJGYnKQ+RwQ1ciY\n5/IxOBCbRy1vY5tRFsY6iBkWtnAJiSrKZB8RLIpEhENWNQuiezloLEQISSB6iAJ/IaZlqhmyrk4t\nvxsvZsYAACAASURBVEdIraRS+QUl175nj1qJB4PqLe3tVVpcZWWJSX3ZMjXZFxcnNiq7DvjoXVdP\n7H9aMWJBTNNGuA6FPV1srm7EKPZRWpp4vh07VJ3E/v1q8h4cVM+3ZncLyw630msHiRbZmDGHhkgr\n5y6CLe9upr9fjSf5uQsLj68iH03yXldxTx0ZBbOFEBcAL0op+4QQHwDOAr4jpdydtYEJsQb4Nio9\n9odSym+M9r/TJZidK9Lmn6dzLXnZS8luqDTS5Cm58UblHykqUkbDdZEDA/y+ah2fqPgZc4sjBGOH\n+MSfP8sFXQ9j4iiNVcOIu3eUD7xP+igwJS/6zgfDZGjAoYQ+bpz7JKWlEOsMsTr8czZEf0qvOYdV\nsa1YchAfgzjYDBk+HGFTLI/ydtE7CA/5uFtu4HvRJoZiJoVE+DUXM4RNgBAL2Bevi5YcJsAqYxs/\niDVwNQ/EoxbKSSYx+CWr2WDcR6PxQz5KK4dkENNn4zMdio928nbRMpbIN1k88DqusOksrGG/VctS\n3x5KujswXIe3fCt464J6nl90NUc6h/jqGzcxp65cvSfJMaDOTtX0IUWf6mQefjjRhMijokJtAoVI\nrNBtWxmKbduULTr5ZLUT6TwQ5S9fbmHltnZKfS4FxRbtbOBXJzfhRFWHvZNPVppcvb1wwQUq5Xbt\nWrVD+fvmCLf88hK6oyX09NmJALXrECzs443/eJJHn/KN2kUxlUtJ11FMPpMdzP4ecIYQ4gzgs8Bd\nwE+BiyY+xPRIKbcAW7L1+LOBjCpdM9R/ApRxGGOCGkYkolrV1dXBwYPIQYehqKCzoI6CA3txjAhv\ndvtwFtby9RX3sn7Pv3Pt299mPgewYkMIXyHWolrYv5+SqMt+q5aYNDENGEJJeQRFiD09NdhWgGtj\nG+kiSFTa7BM11Mg9dOPDJMpL4kwCRg9P1nyIJ8qu449/DnC433csrj1k+Piv2Af5KK3spYa3RR1F\nso8K0cNd4mO40mQRe3mTk5nHQUyiRDE5wDwCHAZgc00T75wbrz2J9CAsi4eqPsq/R5ooN8LcN3gZ\nrr+C8JCPcj/0li0mXDQP93APXznvccoXVVBYCFd+JELFt+IGItlIjJBaSceVVyqD8MgjKkBcUqKO\nJa/CvRV6ZSX867+q5kLPPKP6RyxcaPLW5c38srqBXc+HqF0V4M8dPqxBVSx32mnKVVRXp2zXd7+b\nEPOzbVh/YQj3QZfCCpsSA/qOEpdrsamc08Oyd4UwimvG5VKybd3tLldkaihcKaUUQqwH/kNK2SqE\naMzmwDQnTnIHuVFblmao/zQhQiHl+F66FJYsoXOfw75OG7vIpHB/JydXhHj5cA0HDkBpqcmPK/6O\nXy37BBu/uQfr/nvgsccwXBf276OgtgbbX4fcHs90iTlQYNEZU13WAoMhCoTLkFQihm/F6ogBC9hL\nAUPMoZsHrOv47sGPMhjy0x9JJD95gdi7RBNIqKedAuniCosfF3yMlqEm5skD2KbLAd9Sdg+chBlz\ncLCJYVBJJ0vKQqw8v4aOdzTzm5Ma2PNCiEPRAKbfR8CFrq4K7i/7a27qa8WeE8SwbZyjDmWDR+i+\nrpEffaeCoSFvteyDg+mlVsZitMZTHqnOOY5qW5rcvXD56T6GzBpeeV3FNvbuVcHw5cvV58lzN41U\nfL3khgDd/89if9jBNG3KK9RHqTrgYA5YUBnQLqVpRKaGIhyvZfgA8FdCCAPQSWl5zMgOcpCodB3W\nLyID/acJk2SEYpbNgSNFFBaBhYNRbLHfCTB/vvJJv+tdKoh53XU++hYsx7j1K9if/7wyNj//OeKn\nP6U6MIRYbhHa00eR0cPdRR+jz/VhSIjNCRA9YlFsOQzEEn0jBDEsHE6KvsGHBlq4hM3ca9bzvWhc\nZoREKmYUk+/TzI9pYElZiM5YANfyUTAIRYEAJf0WjuMgi2wGIz6EBB8OGBarLg1w0inqsk8+TU2u\n2x6D6iLldbv4YnDqmvjTNjj9lXYWV/VwuNfi8cWNPCWbKPhcYrcHjCm1kinpVuEjz4VCyu3j96un\n88pdVq5UhuDWW+G115Qxefvt9BO7Uexj7qfqqfCk6oviUvVJnyuD9MZMkz9kaihuRAWTG6WUB4QQ\ntcBt2RuW5kQZ2UHOw29GGDwcItwZIFATNwKTNCkdR5IRcsuDxKTSjPL3dbH13EaWlfvYsUONNRxW\nWbS//KUKaSg3mY+1a2swPhVPCb39duYdOkTAhSNWJeWlMWKHovgrTEy/j6cX1bP2QCtdIsjcgX3U\nsQsfA/FqaslCOrAZpDF2F4YFLW4DAUKEogEGSRhEo9hHzXk1rKpSBuSqq8Dv9/HCbfWc/WIrB2NB\nCsttSgsdFhR08cuFjSxc6ju2MxFC9VuYWxyhhhA90QC7dvkoKDApepdy51x+bohHng0wr87HolS7\nvTGkViaTWEy95nfcoZocmebxmUhFRUpY8JRTlGHIaGJvUiq2dns79I/+udIupfwnLyuzx4sOZh/P\nSHkHEYty9vMtrHxJpSrWnWxhfKA+kbkEEwtWj0U89TbW1s7unS6iwOKVMzbw/NlNSMOkv1/5uK+4\nQk1WqfzV69ahGlf853+qlB2/n9hQlNihLl48u5HP/KmZo0dV/4Y1e1u4qudu3uG+jIlLIYO4cak9\n4rpNfxZLKRAuB2JVGMRwsbhX1POfhhrT+vUqUzh5MnRd+PIXo9g/bmFtTzsFuFQELRZ9YQNbFjax\n8RfmsbE7A1GC97dw4e42im0XaVo8Fqzn7uImlp5iEgioyTkYnJragLGCwJs2JRpIRaMJj2FpqTIW\nRUUnKJeRjc+VZlKYlGC2EEJJWqY4BUgpZdkEx6fJMl7g2otRXLCthVXPtxIyglTV2RilKVqgjjdY\nnQnxlbHR0MDOe0Pc87haRRcaCR/31Vcf7xsf5ia7KILd1pYo7AMM08SYH2TJ79spDjbQJ3zEMHlk\nUTOvLVrN11+7hhpnFxZD8dI14rXfkkXybaSEDrGQw7IMC4cG2UqBBX84q5ny8sS8ZttAJMK3Ph/i\n/ocCVCxp5nd2A4VHQ+w4HOD6gz6+1gyYCV/7pX9q4dyDrRydEyQ0YOMTDusOtRILwl3bmvniF5X0\n9sjdnmUl8gcCgRN3x2SSzOA4KkOqp0dlRXnx81BIPf9rr8G//EtmcYPRDJJj+Aj7aig1INWl6Gym\n/CetoZBSpmp1opkmJPeLOOW5NrrtIFXVNvOqADFKC9RROOEvs8/HJR+qIRI4Pnh5/vkqO2fkxOnt\nLPr2hLBTZGbFLJveUA8XvzdE/5yaY48Z7avBfc3CZhCLKMSVXWNxNSabQfooYcDw4/epJkCFZUE+\nTTtfXtjAb3/r45ZboMwf5RNmCyteaGP1Sy6rLYtfF9SzaUETTlkNFbbKVP3oR5WfffVqCHdGKL26\nje2lQYr9NjEL+vpsukSQ93W289S5DVx6qY9nn028BlKqnuFvvKEyij7yETWRz5+vzk9UKTWTZIZw\nWGVBQ0JjKRhU9RdHjqj4xEUXpX/u0QzSFVeonuajGSrdf2L6MK6COyFEFSScuVLKPZM+Is2kcSzz\nZWUIsdXFnG8P/wKmSoEdwWR+mQ1DTaann65SNuvqVJDUe1xv4vTwbvtrU2dmuQNK7jtaEcA0VeEW\ngFnm43D5EuzOF4khjuk0GUSJYiGAA9ZCzAITIZTxs/w2Q6Ee9r4UotBXw/z5ahdWurWVffOChEyb\nEsthzQG1C3twgXJ3dXTAZz+rJte1a2HtmSHARVo2sZi6PiW2Z+Pv7+GMhSEqK2uG7fZ27VKV1FKq\nTVNHR0Iwb+nSFJlqGZBpMkNpqRofJCq0QT2/ZSlPX8rOeEk89JCS61i8WL0HnkH64x/VtY1mqDLK\nytPkBRl91YUQVwkhdgBvAb8BdgGPZnFcmhPAcdTc78RVK+zqAAU+S2WdjPxHw1A+5Ejk+Aci8WWe\nM0dV0c6Zo25v3jy+McViysWxfr2apK69Fq67Tk0ylqUm2b17E+qi0b4IfX/q4MpLI9hl8aB4V1fi\nohwH83AXzy7ZQK8zfDcU7YuwyNhPX3ElxN1OnlS2RZQeUc5gsOZYjWFxEQjX4eiAxdv9Afr64LdP\nRjjp2Ta6rSCHj9oIVAOhXmsulx/4MYMHuzlwQMlLLF+eeF0e/WMAo8BiXsAhEkmophpRh4hr8e73\nB44Z2xtuUO/TCy+oxzntNLWjiEZVBtjTT6t6x4GBhKHOlNGSGbwJORxWt21bBevLy1V8xHXVz5Ej\nyhV15ZWj7yBjMbj/fvjiF9Vu6Ne/Vv0wbFtpNf3iFwnNJu+5PUN19Gh6Q5buWkd+vjXZJ9MdxdeB\n84EnpZSrhBAXo1JlNXnE6Kt/H8bIFNiBAeWALiyEDRuG6zvFg9tHj6b/sh9Lsc2AzZtVpfChQ2oI\noAzD7bcrW+W5yR59JMr521q4YFcbc8tcKr5lwcF6nA99FKcPih9sR7g9HA5bPBZopL2wibceVLuU\n006LF5S/GWJuuUvp2efQu20X1sG9x8Yhy8spbf4YKx58AFEVpLPHJrTfobCvi41WI0Omj5p5UB1T\ndRldAzZ2DOZVSYy9u6mOdVAgHe7ceSl3FzTw/Nleb271ujzypI/VN9VT9aNWegqDdBxU0hWBaBd/\nvriRNeuHS2+ccw7ccovK+BochOeeU64g7/W2beWW6ulRk3um2UGei3C0XVryLmHtWvXZ+f734a23\n1LElS1TXuXSxic2blVSIZSlXlesmtJ8WLVK3R+IZqv37xzZkI69Vu6pyR6aGYkhKGRJCGEIIQ0r5\nlBDi21kdmWbcpN3KeymJbW2qBdr+/Qn/RkmJsgbx4Hbsb5rZvFkZid/9TrkfklVC032ZU+E4KrOm\nu1utvD33RkWFkn/YtEkZnXXr4IpdLfD7VoyVQQyfjRx06P5WK1vugSeXNVN8agO1/hBvdKqg+Pk2\nlFYoCYrubjh1SYT3Xx6hYi+Io2HK31lL7LRa3AEHywTDicDn/g7mzYX2duYbPVTVWhy5opGH725i\nfoVa3ffGAsQMi0IcIhGb5ZW7GZR7GIhaRLE5TAWNVivvKYWt8d7c3uvSc2MTHa9B4S/aOam0h5hh\n8cKpjTw4twnx6HC3SiCgJm3P7RMOJyZPT/EV1Fs2clJNx8hkhnSVz4ahdnpXXBHvQUJSID/Ne7p5\ns3I3vflmYvxlZUr7qbYqwgIZwnIDJHmrjxmq6urMDZmHdlXljkwNRbcQogR4GmgTQhwC+sa4j2YK\nGdsnbWI3N6vqth/8QAWvPSH/PfFQ04IF0N7Oo/Ma2Pigj+pq9cUfTSV0LN+1R6qAqfe3lGrnEg5D\nwB/BurcN5id6bB/stjnUH+Rdb7Xz5kUN9Do+7nqwhtNPh9r4da5cCScvjrLimRZu3Ho39uP7EAcP\nKENYXIyxaBF2dbWaBRsblVM+qUbBCASgz8eC3yjtQssCLB+PBetZs68V0zcXd3cHUcPCb7sc9tdS\n4BZxJGay/Ll2tp3dgGv5EuqpxSZ3ymYqP9xARTTEQLEq3KsZPH4nljyhe0bDcwvNmweWG8HuCTFn\nfoDBQd9xFdDpGG/ls21D9Zx4KmssABFGTWv1XFvFxWo39MoryvD7CqJcvq+F69ra+FShS//dFq+v\nquelv2giMmQeM1QlJZkbMhhHASnodNwskKmhWI/62PwdUA+UA/+crUFpxmZkFlImPumAP0LsZxtx\nK4IUdOxDePt121YR1NpaYo7LMw+GWLiw5jh10e3bldsoFIKbb87c7ZQcMHUctSvxupIKoSaN0lKg\nc7juVCwGhw5CQbGNFemhqD9Er1WDz6eCpKeeqh5HSlj+3y2c80orXXY/cyNHMH1+7KF+hOOoJW9/\nv4o6Jxd7JaUDlxpqwisvV48djcLGiiakhNX7fkzUcZCGzSF/LZFAHSX9EO61GervwQ6H6CuuOTbJ\nhcNqp1RZ6SNsJpIERtuJeRP3I48o211WpmpCbu5uYe0uVYthHLEob6+H5qbje4WOwlgyHsNIlpof\nGlLxICHUG57CLVlaqsb6yivKXRWJqJ1EU7SFq/tbqTg1SFWNTec+h1VbW+nthWfPbB5mqMZjyDL6\nfFekkcvP8DXTpCYjQyGlTN49/CRLY9FkwGh+2ssuGyNzyA9P3Bti6U6X3sJylg4IzFiMwiJDGQzX\nhb4+oobFYRFggaf1s1xNxM89pwrjwmGViSPl8Z3VRsMb47PPqraYtq3mINtWvvB16+IT2AjdKdeF\nmFSSH1FhESKAZSVURgYHlQF76/UI619ro7dgDkuG3iJq2QwNGWCXUGhGVfAiGlU7CNNMmepr2ypw\nu3EjvPe96tjOnSbfO9LM8+/ZwJd+cyn9dgUDsoiSfijxo/SeeixePRCgeK4KzksJX/kKbN2qrvUd\n70i47EbbiSVP6Pfco4L+N3e38BevtBKeG+Ro1KZmnoP141alOpLUjyITMqp8Tpaa37dPGQpQL/CC\nBcfV3Ni2ytB64gn1u7ZWNSha/1Ib1oIg8xeqF3ZejU0sEOTmcDs3/d8GlZiQ4rrHMmQZxVzGksvX\nTJhMs57CQoje+E9ECBEVQvRme3Ca4xktC+mJJ47PHPK28mvWqPP3PB5A2BbFhVF6y2qIDTgMDsTU\njC8l9PQg6jdgFPuOPYbXSrOwUD3f9dfDmWfCffeNL/PJW5zOmaPmbK+z2YUXJq0gfcOzmyxLif8Z\noS7axQYefcrH44+rsQwMqLtEo3Dg1RAWLn4/CCkRhoFhwOCQgYxJ9bixGLHOEJs2qYr1f/gH9XvT\npkRPJS8TKRxWQfft2+Gss2DpORVsqmygPHoEn+HQ1wci6lApu9h+1gb+9ds+vvMdNfHdd5+alFet\nUvPUyy+rYHTye5FqMozFVCe33/4Weg9FqPttGzu7gxw4bKtWoZaNDMTrXkbJUBuNsbKEnN4IQz9p\nIzY3qFbeHR2JDkQdHcp4B4c/t+Oo1+iss9Qao6cH/JEQ5X6XwZg9rE+V4bMpwMUOh1I+v2fI0u1Q\nvcXGaJ9vOxZRO4lgcLj1D07sNdMMJ9MdxbE1kBBCoFxR52drUJrUjOWnvf12dWzkVv6yy+Azn4F5\ndT5eOaOes7a2crSsGoCy3r3IqIOYPx8+9jGspibWbkn4ji1LpT6CigV438HxZD45jnKrnHGGasHp\nfdFNU6WBDqul+/CHVVT6kUcwYjFKhMVdZiO/qm6ivEh93/fvh3PPVRN6RwccGApQ6Lcwi0D2CJAx\nhDCQ0RhSCNVW1bJ49I8BNj44ejA0eYW7e7eqSF6yRJ1/+S+biD4D6462UxTtwRqweLy2keAtTVRX\nH//eLF+u7vfGGyr9tbQ0fXzgkUcS/SN8oRAi6uIW2MwtU4v6/fsAbOYb6etekhkrS8g7/z8bQ3zs\nTZe+Ypv5cwaojElEQXwN6brqzj7fsJqbcFgZ+5UrlQtwcBD8ZgBfm8Wg6+C6duI99ZSI/X71hk0w\ndpDWVbV/HHL5mnEz7g53UolDPSiE+ArwhckfkmY0xvLT9vWl3sp7q8nCQnj+bOWjf+fL7UQL/ewr\nP5UFH78S/62fPhZISP5C9vSo1fuqVYnJLxpVP/39Y2c+xWJqlf300yrByjSHZ1B1dY3iXzYM3LVX\ncdubn+ZA2I+zCwZ61P3POkvtTG67Td33y1/28fqees7b1kq4ZB7l4X24wsKKuTBvARw+jPuRRjY9\n4csoGGrbqhiwqCipE9w7TF41mnnk9QbscIh3vifA5e/3HXutRr43QqjA/9KlKkTyta+pTJ9UOA58\n73tqhV5RAfsOBJCmhek69PTY+EvUvBra71BVa6ngewaMlSXknV88P0BBkUWhoWTgK6IC29sSeD7C\nEbLzI11BxcUg8bH11HpWbW3FigWB+P06O9Wb7nU1GkfsYKSbcFRXVTbl8jNgpsuQZGQohBDXJN00\ngHNQwW3NFFJaqj7z3d3qb+87NtL3PdInPfxLbfLcuc28uKoBszvEvsEA3/yyb5gIT/LKOhRSPnfv\n8bZvV0FLx1Hf+aefVqmVo8UqvBVtUVEioO1lUC1ePIZ/+ee/4LziCt5c3Xxs1VpYqK57zx51u7pa\nFYzdd28TnA6rXmujwIng6w8h5wYwAnOhvp6e65pwvpB53n6q9NLFi0EIpWh7/fXDJ4TRfOiuq4LT\n6eapUEgFhINB5QEckD4e8tdz49FWOp0g0aiNLRwKBrrof38jJRmsxsfafV58ceK8Wehj2zvVThNf\nkEMFNdQM7lY7sbo6dREjZOdHS7+9P9jESddB3cvtEI4rxi5bpj40lZUZxw7S7YZSxlyyKZefhtlS\n25HpjiI5S9lFVWavn/TRaEbF82Hv2aO+c2VlKlBaV6d28+kazaf6UvdFfeztqRnzftXVymhs3Kh2\nFn/6k1o9Og6sWKEqcy0rdR67N1nV1akJ8NVX1bjLypRLxjDgpptG9y8bVUEu2HY3Bw6sxgnWYBar\nL/tIw6hW9SZbtjSzZV4Dc2WIi9b4WX1hH1QqN0fpGDIhqVJ9U7k6br459SQwnrqFdJimeuy7/U3E\nJFx1tJ2S/h6kafHsikau/VTT2A/C2LvPkQVvyTvNQaOYaKASy0C92X19KeXBU70+199ksnJtMzhx\neXS/X/2jZyS8F2sMnbEJ1UykkcvP1op/ttR2aJnxacKmTeoDWFOj/Ofbt6sUzGXL1KJsrBWMt/JJ\n/lKvWZPZyicWgwcfhC99iWNZR577yHFGl8YOhVTQuLY2IXy3Y4dyWw0MwD/9k5p4jf0dquFyVVXi\nzlLC7t24O3fxtm8pwl/MK2fU87uVTby9z0wpe51uMnAc5QLbskWNJ6WU+ShkOslM9DV2HLUr2rtX\nuZ66u1U9h5RQVRZhw+oQb/YEuPpmX8aTz0iZeQ9Pyvy221RF+Mjz0b4IQwdC/PMdSmokk3qEtK9P\nR4r31mOU/t8jxx6NJuJa4XAGMuxJdRQx25e1Ff9Yr/Fky8Vng8mSGf8uqWXGAZBS/u0ExqYZJyPd\nCJ7vOxxWcYLVq8f+0I8rp34ErgvvfKeSm/AUTT23V7oq7ZHumJHjvv76+LhT+Zd374bduzELLYpO\nriZ0MMrKP7QSDsNf/kNzyqBwKpdEJKLmot/8RgVfQyEVQJ8/X819mbTezLSxzkRfY9tWchm3366M\nf0GBum8kAgtO8tFBDVffPL4WoWPtcEYteDvg44YbarC9BgIZBIDTvj4TiB14uyHbTrg6o9FEQ6We\nHrVBGZWk+pjNm7K34s+otmOGNGQay/XkLdMvAFYAP4vfvh54LVuD0gwn1QfSNBMSGOP5QGY66cFw\n/+vAgKqlWLFClSV4pHPdpJqsXFdN1sPcMSP9y5alem0CYtFC5lebVM0zcQeC3DjYjnFZAxhqhTva\natYb+x13DHfVnXmmct9deinHxRkmi/G8xh5e1tWmTapSvaQELr8c3v1uVQQ4kXGOVdA22vnLLlPv\n0aS4aSYQO/Ce99VX1S7UUweIRNT64Zln1CZlrJ3euKq5J8B49LSmO2P1o/gJgBDiE8CFUko3fvv7\nwDPZH54GcveBTPa/zp+vXNVbt6pzK1dm5oPPuPo22b/sSaguXqwCHMR1j/y2aqkZChGrrknrUti8\nWRWvHTyYyDZKDqL/9rfKUOQLJ7Ljm+hjjjzv96t6m898ZpLdNONstWvbakyf/7wSG/Q2JL296nP3\n+OMqGeuxxxLjXHdZhCvOC2FUJtxkE1rxj0P+Y7LiUtOBTIPZc4Ay4HD8dkn8mGYKyMUHMtVqzNtJ\nvP66WvF6LTLTuUQyngCTe0R3dMAHPqCWkl4jam9QcXdFuiDi6tVq7FVVaqyevpQnWLd0af66Biay\nGznRx/TOb8qWm2YC/b8vvFDFko4cUWnD3mdn927485/VwyxdqrSlzvhDC0s/0UbPHJc5wUTqbWmp\nmfkCKzqG/EckgrM/RNgOUFrpO/YZHq+e1nQlU0Pxr8ALQoinUG1Q/wr4arYGpTmeqf5AplqNCaFW\ndH6/6kFQV5e5kcp4AvT54OST4YMfHNVd4Ri+tC6Fc85R/15Zqb7j3vfestR84Cm0ziTXwImSbTcN\nMK5Wu+XlyhAcOqQW+fPnq+ePRGDnTvURKSyEs/+3hbO2tRL2B3l70Ka82MGIp97azc2ZL7BGk/+I\nxYgJg+472ujpcnGFxWPL6yn9bBNrrzKzshPMRzKtzP6REOJR4C/ihz4vpTyQvWFpRjLVH8h07q7i\n4vEZiQmRxl0R7k7vUgA1NtdNiBqWJXV37+yMp+XOwC/0RMm3wKxtw/veB1/4gnI/ee9nOKwC2nv2\nwBmnRDj95Tb6/EEwbWID4Bo2dlLq7dq1aueSdoEVSSP/cfvt9Moy9kaqKCizsXC4aEcrj/8f2Gw2\nH9tpZWMnmE+MlfX0DinlG0KIs+KH3o7/XiCEWCCl3Jrd4WlGMlUfyJz7X9O4K8aK2QQCibHHQxzD\n0olvumnmuQZOlHwMzL773er9O3JErRVMU+1od+5URs3sDmHEXGKmTSyqFlOWBRgJ2Q6jpmbsBVZo\nFPkPy0IeOsTBkoUU+G0ME2LY9JcEuXhfO998uIHVq32zYsEx1o7i74GPA99McU4C7530EWmyyngK\nj/LC/5rCXZGJEUsee1GRckdddJFqwZppka7jQLgzQqkTwq6e2b0Ncr4wSEF5uXIxebtBLy07GlWN\nqvqLVHMpHIfIkE31gnjQPUXq7YRSePv6kBIilh9fktJIzLSx6KGgN0Q4XDOjdxIeY2U9fTz+++Kp\nGY4mW0xEaiCf/a9jGbETGXssBpsfjhL+Zgvn/qmNHulSUmEx55P1FHxqbH2i6UpeLAySGGm8TFON\nq6gIbrwRurp8/HdNPRftbKViUZCqqsxlO4YtmEZL4e3pgapKLCdKLGpixN92I+rgYjFUFpg1ca6M\nKrOFENcDv5RShoUQXwLOAr4upXwh2wPMhNlQmX2ipMpoyaQqeUxy3E0sG9IMmzZB19fv5LI9xlIa\nJgAAEuZJREFUrXSJID39NmLIobqgi4ENjay8o3lG6fiMZKKvaTbei3TV7q4L4e4o5T9rwfpZeyJr\nYcOGUQUHR10wXR7F+M8WFdtIfpxYjO5v/4g9/UHVQAuH4qNdSjn4n5qnvUxHppXZmRqKbVLK04UQ\nFwL/AtwGfFlK+Rdj3HVK0IYiPVmRGhgrnXCa4jjw980RbvnlJXRHS+jpsxPtW12HYGEfO7//JGuv\nzV831FQrmU6FMN6Y15ThgiXdgmn16hSuxmiU2PdbOHJHO70hlyEsnj9lAyV/n8h6ms5MioRHEtH4\n77XAD6SUm4UQ/zLh0WmmlKxktMzQbmLhMNjhEKZ06R1QRsIr5RgSNoVmD888GOKydTV544bziMXg\n0QciPPNgiMMigFHsmxIl06kQxhsziSOD1NvRUoBrauDOO5URcV0ftl2TeN1ME+OTzQQaGyiN11Fc\nWzk7AtjJZPrx6RBCtAA3AluEEIXjuK8mxyRntCQz4YyWdOmE07ybWGkpOKUBhqSFGXOOGQkpoUA6\niALVKjYczu04jyMa5ZVP3snST1xC86+u4Uv/fQmXv3Un990bHVcnwvEyVv1Fqq56Y3XcyxajLZh2\n706oIid3jRz2uvl82EtqCNTMPiMBmU/2NwCPAaullN3AXOAfsjYqzaTiuQJGbSM53g/+aOmEXrJ7\nKHXLy+mAbcPq9T7+e0E9c90uzKiDlMCQw3yrixdWbMD0+/IuiOne2UL5fa3gL2GgtIpBu4TztrVy\nTVfLqBP2ZJDJbtUjFiNtK9psk2rBFI0qyfuyssSCaSxDNxvJyFBIKfuBQ8CF8UMusCNbg9JMPl4/\n6O5uVazU3X0CGS3J6YTJTFE3sWyzdi1UfqmJXy1uxIj0UTrYScDXx0vnNHJ/sGlixjWbRCLIu9vo\nLUzs8GKmTZ8/yKrX24n2RbK2AxrPbnW0fu/Z3PEk4y2Y9r0ZQe7tQAyq1yUcVoKRyaG1VIZuNpNp\nh7uvoLranQL8CCgA7kapymqmAZOa6pqjbmJThWHAuvebRC5v5oF7GnjxVyGOGAFMv4/r1+RhsV5I\nxVSkFS88i094MdNGuD3MlSFKS7PTLzrT+ospkQgZg9hQlNrNLXzu8TbciIuLxf8srmf5yU3U1Q1P\nwJiJCrAnQqbB7KuBVcBWACnlPiGEfgmnIZNW2T1ORdDpiM8HN/+1j2vra/KujmQYgQBGgcW8gMO+\nQzY+X9xYOA4DrsW73x/I6rgzqb/IB4mQlz6p3HNORRCzwMYedFh3sJXFi+G+jua8KTTMRzI1FI6U\nUgohJIAQwp/FMWmmAxNQBJ2uTKZsSlZSV+M7vKq7WqEqyMHDNmLAoczpoue6Rq64OrvvSya71VxK\nhMRisOm+CIvubmO/GSR6xMbvhxK/jWMEWfFCO9d+u4HHfuPLi0LDfCRTQ7ExnvVUIYT4GNAA3JW9\nYWmmDeNQBJ3NZL3WoKkJAcxrb6fS6iFqWIj6Ruqam6YsPzGdQc2lRMjmzbDl7hCfxEXYNqaEo/HY\nQ0mJjTjaw0UrQ6y5Js93jjkkU/XYfxNCXAb0ouIUX5ZSPjHRJ41Xen8VOBU4T0r5XNK5W4FGVO3G\n30opH5vo82g0+ULWaw2SdnhGKISRhzu8KZcIifeQeOyhAIFlAWJPWZhRh6ip6mP6+sBvO0jLwl8b\nmPEKsCdCpjsK4obhCQAhhCGEqJdStk3weV8BrgFakg8KIVYANwGnAQuAJ4UQy6WU0eMfQgNTX4Wr\nGT9TGsjN4x3elGmHJakGiIjLp/dabD+nnq2n3Mz5r/2IcGGQqGljRh3s7i6O3tSIXZZfRjXfSLsp\nFUKUCSFuFUL8hxDifULxKeBNVG3FhJBSvi6l3J7i1HrgXinloJTyLWAncN5En2cmk+ucdE3mjKfW\nYDbgrdyztrDxVANKSjDnV+EUlLDq+VaqquDZ0xopdPsoGeikKNpHz/WNrPz3mZOAkS3G2lH8F3AE\neBb4KPCPqA5375dSvpiF8dQAv0+6vTd+7DiEEB9HSaBTW1ubhaHkN1Mhm6CZHPKx18OMZYRqgAEE\nFtgc2htk5cv38uJHnmTjXzUQ2hFizQcCrL9R7yQyYaww10lSyo9IKVuAm4EVqOrsMY2EEOJJIcQr\nKX7WT8bApZQ/kFKeI6U8p7KycjIectowEdkETe6Y9Mp4zeikUA2YVwVVC23kkMvhHSGODPi48uM1\nrLteG4lMGWtHMeT9IaWMCiH2SikzEvKRUl46gfF0AIuSbi+MH8s+OZbLHg/5kJOuGR/51ushH8gk\nvjbuGFyKJkRCwPw5DrECiy9+K0BppTbO42UsQ3GGEKI3/rcAiuK3BSCllGWj33VCPAy0CyG+hQpm\nLwP+OMnPMZxpKJetXRnTj3xuAjXVZJIqPOF04jSqAUZjI4Ga/F4E5itjdbjLykwphLga+C5QCWwW\nQrwopVwtpXxVCLEReA2lJ/XJrGc8TUO57HxsW6nJDJ2CmVl87YRicLNANWCqyahxUb4z4cZFkQhc\ncgmUlAyfXR1HJVk/+WTeuqHSdf6a7s1UNDOXTJpowSQ12ppG7uRcMdmNi2Ym6eSye3rU+dmek67R\nTCKZpgpPSgwuj2tKphuze+05A+Sys56TPkFy1ZxGk99kIks+6Y22NCfM7DYUXuCrqysxo3ly2Rs2\n6O3qBNCFgJp0ZJIqrNOJ84/Z7XoCHfiaZEYGIfv74b/+C4aG4Jprcj06TT6QSapw8v/09ytX69VX\nz+504lwyu4PZyejA1wmTHKi0bdWHeMcOddx14RvfgPXrdbA9n8ilVthYzx2LwUMPqR9QX8tJVdzV\n6GD2uJniwNdMFPNLDlRu3w6vvqp6EZeUwOHDcM89asM2bokRbcQnnazLnmfAWKnCmzfD/fdrmZp8\nQBuKKSYfvqDZwjN6/f1qJ1FWpgyDl1i2ePE41VKnYTHkdCHftcKOHoVf/AKqq3PXOlWTYJpPTdOP\nXDeYzyae0du1K5E45rrQ2wvLlkFx8TjVUpNUQKmqUr9bW9VxzYTJZ60wLxniU5+C3/0Ofv1rtTv1\nPOSzVXE312hDMYXk8xd0sli7Fm66SRmIw4eV1+i002D58nGmN45QAQXU72BQJR5EMpIc06Qgn2XP\nvYVUVVViR/rqqyreBTpFNldo19MUMhvE/AxDZTcJoWISixcndhLjkhiZxsWQ+U6+aoWNXEgtW6aM\nRHGxcmUuWgT792uZmlygdxRTyGwqJFq/Hj74QWX89uxR0gvjUkudAcWQ+Uq+1Sl4xZlegaZnvJYv\nV7tRz33Z2akVd3OF3lFMIbNJzO+EJUbSqIDS2Kizn06QfJA9H5nYYZpqx1BVpd5eIeCUU9ROorMT\nvvtdFabSTD3aUEwx+fAFnUpOSC1VF0NmjXzQCkuVebVjB/zhD3D++YljnrtJG4ncoQvucsRMrKPI\nGrqOYsYxmopsJAIvvaQyAoeGtCpyttEFd3mO7kswDrQK6IxjtMQOn0/VTnz1q+o7ohdS+YE2FBqN\nZsoZK/MqHxWRZzN6M6fRaLLOSNn5fMu80qRH7yg0Gk3WSCdZM9sSO6Yz2lBoNJqsMZamVK4zrzSZ\noV1PGo0mK2QqWZOvXRo1CbShyCciEejo0DpGmhlBPmtKacaHdj3lA1pOWzMDyVdNKc340TuKfEDL\naWtmIDqzaeagDUWu0XLamhnM2rUqk6m7e4LikJq8QLueco2W09bMYPJBU0pz4ugdRa7RctqaacrI\nIrp06Mym6Y3eUeQaLaetmWbM5L7vmtRoQ5EPaDltzTRirCI6zcxDy4znE1pOW5PnjCYPPjioAtXf\n+Y52L00nMpUZ1xvFfMKT09ZGQpOn6CK62Yk2FBqNJmNmU993TQJtKDQaTcboIrrZiQ5mazSacaHl\nwWcf2lBoNJpxoYvoZh/aUGg0mgmh+77PHnSMQqPRaDRp0YZCo9FoNGnRhkKj0Wg0acmJoRBC3CaE\neEMIsU0I8YAQoiLp3K1CiJ1CiO1CiNW5GJ9Go9FoEuRqR/EEsFJKeTrwJ+BWACHECuAm4DTgcuBO\nIYRu8abRaDQ5JCeGQkr5uJTSjd/8PbAw/vd64F4p5aCU8i1gJ3BeLsao0Wg0GkU+xCgagEfjf9cA\nbyed2xs/ptFoNJockbU6CiHEk8D8FKe+KKV8KP4/XwRcoG0Cj/9x4OMAtbW1JzBSjUaj0aQja4ZC\nSnlpuvNCiI8AVwKXyITWeQewKOnfFsaPpXr8HwA/ACUzfqLj1Wg0Gk1qcpX1dDnwOeAqKWV/0qmH\ngZuEEIVCiCXAMuCPuRijRqPRaBS5kvD4D6AQeEIIAfB7KeXfSClfFUJsBF5DuaQ+KaWM5miMGo1G\noyFHhkJKuTTNuW8A35jC4Wg0Go0mDfmQ9aTRaDSaPEYbCo1Go9GkRRsKjUaj0aRFGwqNRqPRpEUb\nCo1Go9GkRRsKjUaj0aRFGwqNRqPRpEUbCo1Go9GkRRsKjUaj0aRFGwqNZhrgOBAKqd8azVSTK60n\njUaTAbEYbN6sfhwHbBvWrlU/hl7maaYIbSg0mjxm82bYuBEWLoTCQhgcVLcB1q3L7dg0swe9JtFo\n8hTHUYbCMxKgfi9cCFu2aDeUZurQhkKjyVPCYWUMPCPh4e0swuHcjEsz+9CGQqPJNyIR6OigtCCC\nbSujkMzgoDIWpaW5GZ5m9qENhUaTL0SjcOedcMklcM012FdcQrO4k4490WPGYnAQ9u6FNWtUYFuj\nmQq0odBo8oWWFmhthZISqKqCkhLe+YdWbilrobsb9uyB7m644QaV9aTRTBU660mjyQciEWhrg2Aw\nsVWwbURlkNNfbuc7WxoID/koLdU7Cc3Uo3cUGk0+EAqB6x5vBWwbXBc7HCIQ0EZCkxu0odBo8oFA\nACzr+JxXx1HHA4HcjEujQRsKjSYnHCfJ4fNBfT10dSUOOo66vWGDOq/R5Agdo9BoppC0khxNTeqf\n2tuhp0ftJBobwTuu0eQIbSg0mikkvSSHCc3N0NCgthuBgN5JaPIC7XrSaKaIjCU5fD6oqdFGQpM3\naEOh0UwRWpJDM13RhkKjmSK8GggtyaGZbmhDodFMEV7geu9etCSHZlqhg9kazRTiSW9s2ZLYSWhJ\nDk2+ow2FRjOFGIZqOLR6tYpJaEkOzXRAGwqNJgfYti621kwfdIxCo9FoNGnRhkKj0Wg0adGGQqPR\naDRp0YZCo9FoNGkRUspcj+GEEUJ0ArtzPY4MCAJduR5ElpjJ1wb6+qYzM/na4MSur05KWTnWP80I\nQzFdEEI8J6U8J9fjyAYz+dpAX990ZiZfG0zN9WnXk0aj0WjSog2FRqPRaNKiDcXU8oNcDyCLzORr\nA31905mZfG0wBdenYxQajUajSYveUWg0Go0mLdpQaDQajSYt2lBMAUKIy4UQ24UQO4UQX8j1eE4U\nIcQPhRCHhBCvJB2bK4R4QgixI/57Ti7HOFGEEIuEEE8JIV4TQrwqhPh0/PhMuT6fEOKPQoiX4tf3\ntfjxGXF9AEIIUwjxghDikfjtmXRtu4QQLwshXhRCPBc/lvXr04YiywghTOAO4ApgBXCzEGJFbkd1\nwvwYuHzEsS8Av5JSLgN+Fb89HXGBz0opVwDnA5+Mv18z5foGgfdKKc8AzgQuF0Kcz8y5PoBPA68n\n3Z5J1wZwsZTyzKTaiaxfnzYU2ec8YKeU8k0ppQPcC6zP8ZhOCCnl08DhEYfXAz+J//0T4P1TOqhJ\nQkq5X0q5Nf53GDXh1DBzrk9KKY/GbxbEfyQz5PqEEAuBtcBdSYdnxLWlIevXpw1F9qkB3k66vTd+\nbKYxT0q5P/73AWBeLgczGQghFgOrgD8wg64v7pp5ETgEPCGlnEnX923gc0As6dhMuTZQRv1JIcTz\nQoiPx49l/fp04yLNpCOllEKIaZ13LYQoAX4BfEZK2SuEOHZuul+flDIKnCmEqAAeEEKsHHF+Wl6f\nEOJK4JCU8nkhxHtS/c90vbYkLpRSdgghqoAnhBBvJJ/M1vXpHUX26QAWJd1eGD820zgohKgGiP8+\nlOPxTBghRAHKSLRJKe+PH54x1+chpewGnkLFm2bC9V0AXCWE2IVy8b5XCHE3M+PaAJBSdsR/HwIe\nQLm2s3592lBkn/8FlgkhlgghbOAm4OEcjykbPAx8OP73h4GHcjiWCSPU1qEVeF1K+a2kUzPl+irj\nOwmEEEXAZcAbzIDrk1LeKqVcKKVcjPqe/VpK+QFmwLUBCCH8QohS72/gfcArTMH16crsKUAIsQbl\nOzWBH0opv5HjIZ0QQoh7gPeg5I0PAl8BHgQ2ArUoyfcbpJQjA955jxDiQuAZ4GUSfu5/RMUpZsL1\nnY4KeJqoheJGKeU/CyECzIDr84i7nm6RUl45U65NCHESahcBKmzQLqX8xlRcnzYUGo1Go0mLdj1p\nNBqNJi3aUGg0Go0mLdpQaDQajSYt2lBoNBqNJi3aUGg0Go0mLdpQaDQajSYt2lBoNBqNJi3/H8i8\nQHDaU5iMAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11ba39630>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(pred_train,pred_train - Y_train, c = 'b',s=40,alpha=0.5)\n",
    "plt.scatter(pred_test,pred_test - Y_test, c = 'r',s=40,alpha=0.7)\n",
    "plt.hlines(y = 0, xmin=0, xmax = 50)\n",
    "plt.title('Residual Plot - training data (blue) and test data(green)')\n",
    "plt.ylabel('Residuals')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
